L12. Network optimization problems D. Moltchanov, TUT, Spring 2014 Network dimensioning problems NDP: network model The general uncapacitated NDP problem Minimize cost of routing Given demand volumes, network topology and cost of routing How much capacity we need over the links? Example we consider V = 4 nodes E = 5 links D = 3 bidirectional demands Link rates ce are unknowns! Demands: hd=15, hd=20, hd=10 Demands d: Pd paths, p = 1,2,…,Pd sets of path for demand d d {Pd 1 , Pd 2 ,..., PdPd } flow variables xdp , p 1, 2,..., Pd NDP: specifying paths and flows Demand d = 1, first path P11 (2, 4) path consists of two links 2 and 4 the set of path for d=1 1 {P11} one flow possible: x11 Are there other paths? Sure, there are P12 (1,5), P13 (1,3, 4) P14 (2,3,5) We just excluded them! What is the reason for exclusions Quite arbitrary, length, external requirements, anything… In this case: don’t want path longer than 1 hop for this demand Given topology it is up to us to decide which paths to allow! NDP: specifying paths and flows Demand d = 2, two paths P21 (5), P22 (3, 4) set of paths for d = 2: 2 {P21 , P22 } flow variables: x21 , x22 other paths are disallowed by us! Demand d = 3: two paths P31 (1), P32 (2,3) set of paths for d = 3: 3 {P31 , P32 } flow variables: x31 , x32 other paths are disallowed by us! NDP: example Let the vectors of flows for demands be xd ( xd 1 , xd 2 , , xdPd ), d 1, 2, , D, p 1, 2, , Pd the vector of all allocations is x ( x1 , x2 , , xD ) ( xdp : d 1, 2, , D; p 1, 2, , Pd ) Flows of a demand must satisfy this demand, thus, xd 1 xd 2 Pd xdPd xdi p xdi hd , d 1, 2, i 1 these are demand constraints In our particular case we have x11 h1 15 x21 x22 h2 20 x31 x32 h3 10 ,D NDP: example Second set of constraints links are not exceeded by flows x31 x11 x22 x22 x11 x21 x32 x32 y1 y2 y3 y4 y5 called capacity constraints Note the following LHS: link loads due to flows We need to know relationship between links and paths Can be formally specified by link-path incidence coefficients NDP: example Link-path incidence relation table provides indication which flows appears in LHS whether path p of demand d uses link e? edp 1, e p(demand _ d ) 0, otherwise Example: d=1 path P11 (2, 4) entries are set to 1 Example: d=3 path P32 (2,3) entries are set to 1 NDP: example Why we introduced edp ? The link load on link e is given by D Pd d 1 p 1 x edp dp Now the capacity constraints are D Pd d 1 p 1 x ye , e 1, 2, edp dp ,E which is a compact form of x31 x11 x22 x22 x11 x21 x32 x32 we will also define a vector y ( y1 , y2 , y1 y2 y3 y4 y5 , yE ) NDP: example We are interested in minimizing the capacity cost E F 1 y1 2 y2 3 y3 4 y4 5 y5 e ye e1 where e is cost of a capacity unit on link e The whole problem Minimize E F e ye 2 y1 y2 y3 3 y4 y5 e1 Subject to E x e1 D dp Pd hd , d 1, 2, d 1 p 1 ,D x ye , e 1, 2, edp dp y 0, x 0 ,E NDP: example Equivalent to this extended one Minimize E F e ye 2 y1 y2 y3 3 y4 y5 e1 Subject to h1 15 x11 x21 x22 Demand constraints: Capacity constraints: x11 x22 x22 x11 x21 Non-negativity constraints: y 0, x0 h2 20 x31 x32 h1 10 x31 x32 x32 y1 y2 y3 y4 y5 NDP: example Compare with three nodes example Minimize (routing cost) F x11 2 x12 x21 2 x22 x31 2 x32 subject to flow constraints x11 h1 5 x12 x21 h2 7 x22 x31 x32 h3 8 and link constraints x11 difference x22 x12 x21 x12 and positivity constraints x22 x31 xij 0 x32 c1 10 x32 c2 10 c3 15 NDP: example Compare with three nodes example Three nodes example Demands were given Link capacities were given We minimized the total routing cost That is called “capacitated design problem” Current four nodes example Demands are given Link capacities are unknown Link unit costs are given Minimizing capacity cost required to route demands This is called “uncapacitated design problem” Both problems are of linear programming (LP) type. Why? NDP: solution Note the following When variables are continuous we have equalities x31 D Pd d 1 p 1 x11 x22 x22 x ye edp dp x11 x21 x32 x32 y1 y2 y3 y4 y5 What are the reasons? why should we pay for unused capacity? that is link load by flows should equal the capacity of this link NDP: solution Consider a solution Just an instance of First: xdp , d 1, 2, , D, p 1, 2, Then: ye , e 1, 2, , E via D , Pd Pd ye edp xdp , e 1, 2, ,E d 1 p 1 The link rate vector y (5, 20,10, 20,15) total cost F 115 Is this optimal? No… Path P22 (3, 4) for d=2 carrying x22 5 Expensive as 22 3 4 1 3 4 Another path is P21 (5) with cost 21 5 1 Cost path is found in general using E dp edpe , d 1, 2, , D, p 1, 2, , Pd e1 NDP: solution What to do? Move all the flow from P22 (3, 4) to P21 (5) That is, set x22 0, x21 20 Savings per unit: 22 21 4 1 3 Overall savings: x22 ( 22 21 ) 15 Other observations Flow x11 15 is optimal (only one path!) Flows x31 5, x32 5 are optimal Why? paths are of the same cost: 31 32 2 Any split of h3 10 is optimal! Infinitely many optimal solutions: x11 15, x21 20, x22 0, x31 a, x32 10 a y (10 a,15 a, a,15, 20) F 100 NDP: short path allocation rule Uncapacitated NDP only! Remember we had multiple paths? Demand d=1: P11 (2, 4), P12 (1,5), P13 (1,3, 4) 11 4, 12 3, 13 5 Demand d=2: P21 (5), P22 (3, 4), P23 (1, 2, 4) 21 1, 22 4, 13 6 Demand d=3: P31 (1), P32 (2,3), P33 (5, 4, 2) 31 2, 32 2, 33 5 1 2 1 3 1 NDP: modification 1 Why not to add P12 (1,5) for d=1? Should be better for the cost! Recall P11 (2, 4), P12 (1,5), P13 (1,3, 4) costs 11 4, 12 3, 13 5 Modifications to constraints and objective function Demand constraints h1 15 x11 x21 x22 h2 20 x31 x32 h1 10 x11 x12 h1 15 x21 x22 h2 20 x31 x32 h3 10 NDP: modification 1 Capacity constraints x31 x11 x22 x22 x11 x32 x32 x21 x31 x12 x11 x22 x12 x11 x12 x21 x32 x32 y1 y2 y3 y4 y5 y1 y2 y3 y4 y5 NDP: modification 1 Objective function remains the same E F e ye 2 y1 y2 y3 3 y4 y5 e1 Solution to this modified problem We already have x11 ?, x12 ?, x21 20, x22 0, x31 a, x32 10 a Paths P11 (2, 4), P12 (1,5) have costs 11 4, 12 3 Our rule: allocate all to P12 (1,5) Can we? Why not? We are dealing with uncapacitated problem! Savings: per unit 11 12 2 1 1 overall h1 (11 12 ) 15 Optimal solution x11 0, x12 15, x21 20, x22 0, x31 a, x32 10 a with F 85 NDP: non-bifurcated flows We may request non-bifurcated solution Splitting of flows are not allowed One flow for one demand AKA: unplittable or single path NDP For our settings Already only one path allowed for d=1: P11 (2, 4) For d=2: one out of two allowed P21 (5), P22 (3, 4) For d=3: one out of two allowed P31 (1), P32 (2,3) May not be unique Bifurcated solution x11 15, x21 20, x22 0, x31 a, x32 10 a Non-bifurcated ones: a 0, a 10 NDP: modular links We assumed links of any rates! Is this realistic? No! Modular links needs to be used… e.g. T1/E1/STM-1 etc. Let’s assume 1 LCU = M DVU What are the implications? Allocation may not obey the shortest path allocation rule One can see it using huge values of M Optimal link capacity is not the same as optimal link load So far we used these terms interchangeably Optimal link capacity ye optimal link load ye Bifurcated solutions are “more optimal” in general Splitting is good when M is moderate with respect to demands For huge M non-bifurcated solutions are often obvious Non-bifurcated with modular links is a complex problem! NDP: modular links Let M = 35, 1 LCU = 35 DVU Recall h1 15, h2 20, h3 30 One module at e = 1 One more at e = 5 Non-modular Modular x11 0 x11 0 x12 15 x12 15 x21 20 x21 20 x22 0 x22 0 x31 a x31 10 x32 10 a x32 0 P11 (2, 4), P12 (1,5) P21 (5), P22 (3, 4) P31 (1), P32 (2,3) 2 1 35 1 3 1 35 NDP: capacitated problem Uncapacitated design problem We are given a network, demands, paths, link costs Link rates are what we need to find Such that the cost is minimized Capacitated design problem We are given a network, demands, paths Link rates are given (links are installed already) Flow allocation is what we need to find Such that routing cost are minimized Important difference between these two No link costs in capacitated problem Cost of using a link could be given (called routing cost) As a special case: cost of routing for all links may have cost 1 NDP: capacitated problem Given demand constraints x11 x12 h1 15 x21 x22 h2 20 x31 x32 h3 10 And capacity constraints x31 x12 x11 x22 x12 x11 x12 Minimize x32 x32 x21 E D Pd F edp xdpe e1 d 1 p 1 where e is the cost of routing over link e c1 c2 c3 c4 c5 NDP: capacitated problem Letting in our example Capacities c (c1 , c2 , c3 , c4 , c5 ) (5,10,10,5,30) routing costs e 1, e 1, 2,3, 4,5 And allowing one more path for d=1, P13 (4,3,1) There is bifurcated solution x11 5, x12 0, x13 10 x21 20, x22 0, x31 10, x32 10 with paths P11 (2, 4), P12 (1,5), P13 (4,3,1) 10 P21 (5), P22 (3, 4) P31 (1), P32 (2,3) No non-bifurcated solutions… This is often the case 5 5 10 30 NDP: capacitated vs. uncapacitated Uncapacitated Pd x p 1 E minimize F e ye subject to e 1 D dp hd , d 1, 2, Pd d 1 p 1 ,D x ye , e 1, 2, edp dp ,E y 0, x 0 Capacitated Pd x minimize F E D Pd e1 d 1 p 1 d 1 x subject to edp dp e D dp Pd hd , d 1, 2, d 1 p 1 ,D x ce , e 1, 2, edp dp x0 Solution: LP solvers, e.g. Mathlab, CPLEX, Maple, etc. ,E