L11. Link-path formulation D. Moltchanov, TUT, Spring 2015 Outline Reminder of link-path formulation Node-identifier notation Link-demand-path-identifier notation Network dimensioning problems Shortest-path routing problems Fair networks Topological design Restoration design Problem formulation Simplest problem: given Network topology with links and rates Traffic demands between nodes Get the best routing minimizing something (e.g. cost) There are two common problem formulations Link-path formulation Node-link formulation Within one formulation there are different notations Link-path: node-identifier-based Link-path: link-demand-path-identifier-based Link-path: node-identifier Demands: bidirectional 1-2: 5 hˆ12 5 1-3: 7 hˆ13 7 2-3: 8 hˆ23 8 Routing of demands Two path for each demand Demand hˆ12 5 paths 1-2 and 1-3-2 We see that flows over paths xˆ12 xˆ132 hˆ12 ( 5) For other demands xˆ13 xˆ123 hˆ13 ( 7) xˆ xˆ hˆ ( 8) 23 213 23 Another concern: how much to put over those paths Link-path: node-identifier Are there limitation on how much we put over paths? Yes! Link bandwidth! (we assume bidirectional links) We will denote links by 1-2, 2-3, 1-3 and capacities cˆ12 10, cˆ13 10, cˆ23 15 First important note: Demand: between any two nodes Link: connects two nodes directly Second important note: Same units must be used for demands and link rates You need to convert: pps/pps, Mbps/Mbps E.g. to get pps: link rate in Mbps / average packet size Link capacity unit (LCU) Demand volume unit (DVU) Link-path: node-identifier So which demands are using links, what are implications For link 1-2 xˆ12 xˆ123 xˆ213 cˆ12 Similarly for links 1-3 and 2-3 we have xˆ132 xˆ13 xˆ213 cˆ13 xˆ132 xˆ123 xˆ23 cˆ22 What we got? (demands constraints + capacity constraints) xˆ12 5 xˆ132 xˆ13 7 xˆ123 xˆ23 xˆ12 xˆ123 xˆ132 xˆ132 xˆ13 xˆ123 xˆ23 xˆ213 8 xˆ213 xˆ213 10 10 15 and of course non-negativity of allocations: xˆ12 , xˆ132 , xˆ13 , xˆ123 , xˆ23 , xˆ213 0 Link-path: node-identifier So what we got so far? A system of equalities/inequalities Gives feasible solutions to allocations Possibly no solutions exist, possibly infinitely many Which of these solutions are of interest Depends on our objective! Question: what is the goal of your network design? Minimize the routing cost? Minimize congestion? Something else? Objective function! (AKA Utility function) Example: minimizing the total routing cost Let the cost of transmission of a unit flow over any link be 1 F xˆ12 2 xˆ132 xˆ13 2 xˆ123 xˆ23 2 xˆ213 Can you tell me why coefficient 2? Link-path: node-identifier So the whole problem now looks as Minimize routing cost (routing cost over any link is 1) F xˆ12 2 xˆ132 xˆ13 2 xˆ123 xˆ23 2 xˆ213 subject to demand constraints xˆ12 5 xˆ132 xˆ13 and capacity constraints xˆ12 xˆ132 xˆ132 7 xˆ123 xˆ23 xˆ123 xˆ13 xˆ123 xˆ213 8 xˆ213 xˆ213 10 xˆ23 And positivity constraints xˆ12 , xˆ132 , xˆ13 , xˆ123 , xˆ23 , xˆ213 0 10 15 What’s wrong with node-identifier? Why? Recall link-path notation Demands volumes: hˆij, where i,j are nodes… we are OK Links capacities : cˆij, where i,j are nodes… we are OK Paths for demand (1->2): we used nodes as indices, e.g. xˆ12 , xˆ123 Paths for demands It was OK for three nodes What’s about paths for networks having N nodes? xˆ1,3,6,4,7,9,5,2 ? What we used is called node-identifier-based notation Additional shortcomings Some nodes may not have demands: we still need to hˆij 0 Not all nodes are directly connected cˆij 0 Flow variables have indices of different length More than one link between two nodes is also a problem Simply put: we have a problem modeling large networks Link-path: link-demand-path Link-demand-path-identifier-based notation Compact Allows to list only necessary objects Good for moderate-to-large networks Seem strange for small networks at the first glance though… 1. Start with demands Enumerate from 1 to D Only those that are non-zero Three nodes example Demand (1->2): demand ID 1 Demand (1->3): demand ID 2 Demand (2->3): demand ID 3 We have d=1,2,3 demands In general: d=1,2,..,D demands Link-path: link-demand-path 2. Continue with links Enumerate from 1 to E Only those that exist Three nodes example Link 1->2: link ID 1 Link 1->3: link ID 2 Link 2->3: link ID 3 We have e=1,2,3 links In general e=1,2,…,E links Can perform mapping of Demand volumes Link capacities Link-path: link-demand-path 3. Continue with candidate paths for demand There could be more than one Enumerate from 1 to Pd for demand d Note! paths have to be found prior to the solution of the task Example: demand pair (1->2) ID 1 There exist two paths, P1= 2 These are 1-2, 1-3-2 Path 1-2: path ID 1 Path 1-3-2: path ID 2 Link-path: link-demand-path Finish with path-flow variables Demand paid ID: first index Path ID for demand: second index Node-identifier Vs. Link-demand-path Note the following: Previously: we saw which path is taken from indices xˆ12 , xˆ123 , xˆ213 , etc. Now: it is implicitly given Link-path: link-demand-path The allocation task now reads as Minimize routing cost (routing over any link costs 1) F x11 2 x12 x21 2 x22 x31 2 x32 subject to demands constraints x11 h1 5 x12 x21 x31 and capacity constraints x11 h2 7 x22 x22 x12 x12 x21 x22 x31 x32 h3 8 x32 c1 10 x32 c2 10 c3 15 and positivity constraints xij 0 Paths must be given explicitly prior to formulation Link-demand-path General procedure Demands d = 1,2,..,D, and their volumes hd Links e = 1,2,…,E, and their rates ce Paths for each demand p = 1,2,…,Pd Flow variables xdp, d = 1,2,…,D, p=1,2,…, Pd Useful for moderate-to-large networks Solution: optimization algorithms Objective function One more look at objective function F x11 2 x12 x21 2 x22 x31 2 x32 Sum of links costs Link cost: link load link cost unit Link load: sum of all flows crossing it One alternative: minimize delay on the most congested link Changing objective function May affect the optimal solution May dramatically affect how we find the optimal solution Sometimes the most complex thing We considered link-path formulation It also valid for directed links/demands Optimization software You must get familiar with at least one package Matlab (commercial) Mathematica (commercial) Maple (commercial) MathCad (commercial) CPLEX (reduced version is free) GNU linear programming kit (free) AMPL (reduced version is free) Choose one and get yourself familiar!
© Copyright 2026 Paperzz