lecture 3. notations and examples d. moltchanov, tut, spring 2008 d. moltchanov, tut, spring 2015
TRANSCRIPT
OutlineSimple exampleLink-path formulationsCommon notation for link-path formulationAddon: node-link formulations
Why this lecture?We will be solving mathematical models of networks
Abstractions… that are close to realityclassified as multi-commodity network flow problems
Introduce mathematical notationYou’ll see it is common for all the problemsThere are in fact several equivalent ones
Introduce important notionsAgain common for all the problems
Consider an example in detailMotivating you…
Simple exampleSimple example: three nodes
Triangle topologyCommon term nodeNodes could be: routers, telco switches, SDH cross-connects
Traffic between pair of nodesCommon term demand volumeDifferent meaning for different networks
Could be averaged traffic volume between two nodesCould be required bandwidthCould be: number of wavelengths
Pair of nodes: demand pair, demandSometimes O-D (originator-destination)Can be directionalLinks can also be directional
Simple example: link-pathDemands: bidirectional
1-2: 51-3: 72-3: 8
Routing of demandsTwo path for each demandDemand paths 1-2 and 1-3-2We see that flows over paths
For other demands
Another concern: how much to put over those paths
23ˆ 8h
12ˆ 5h
12 132 12ˆˆ ˆ ( 5)x x h
13 123 13
23 213 23
ˆˆ ˆ ( 7)
ˆˆ ˆ ( 8)
x x h
x x h
12ˆ 5h
13ˆ 7h
Simple example: link-pathAre 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
First important note:Demand: between any two nodesLink: connects two nodes directly
Second important note:Same units must be used for demands and link ratesYou need to convert: pps/pps, Mbps/MbpsE.g. to get pps: link rate in Mbps / average packet sizeLink capacity unit (LCU)Demand volume unit (DVU)
12 13 23ˆ ˆ ˆ10, 10, 15c c c
Simple example: link-pathSo which demands are using links, what are implications
For link 1-2
Similarly for links 1-3 and 2-3 we have
What we got? (demands constraints + capacity constraints)
and of course non-negativity of allocations:
12 123 213 12ˆ ˆ ˆ ˆx x x c
132 13 213 13
132 123 23 22
ˆ ˆ ˆ ˆ
ˆ ˆ ˆ ˆ
x x x c
x x x c
12 132
13 123
23 213
ˆ ˆ 5
ˆ ˆ 7
ˆ ˆ 8
x x
x x
x x
12 123 213
132 13 213
132 123 23
ˆ ˆ ˆ 10
ˆ ˆ ˆ 10
ˆ ˆ ˆ 15
x x x
x x x
x x x
12 132 13 123 23 213ˆ ˆ ˆ ˆ ˆ ˆ, , , , , 0x x x x x x
Simple example: link-pathSo what we got so far?
A system of equalities/inequalitiesGives feasible solutions to allocationsPossibly no solutions exist, possibly infinitely many
Which of these solutions are of interestDepends 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 costLet the cost of transmission of a unit flow over any link be 1
Can you tell me why coefficient 2?
12 132 13 123 23 213ˆ ˆ ˆ ˆ ˆ ˆ2 2 2F x x x x x x
Simple example: link-pathSo the whole problem now looks as
Minimize
subject to demand constraints
and capacity constraints
And positivity constraints
12 132 13 123 23 213ˆ ˆ ˆ ˆ ˆ ˆ2 2 2F x x x x x x
12 132
13 123
23 213
ˆ ˆ 5
ˆ ˆ 7
ˆ ˆ 8
x x
x x
x x
12 123 213
132 13 213
132 123 23
ˆ ˆ ˆ 10
ˆ ˆ ˆ 10
ˆ ˆ ˆ 15
x x x
x x x
x x x
12 132 13 123 23 213ˆ ˆ ˆ ˆ ˆ ˆ, , , , , 0x x x x x x
Simple example: link-pathWhat is known about the problems like this? A lot…
Special case of multi-commodity network flow problem
Multi-commodity: multiple demandsSingle-commodity is way more simpleWe provided link-path (arc-path) formulation
Optimization theory tells usThis is linear programming problemAs all the constraints and objective function are linear
Solution? Just try to use the common-senseAssign everything on the shortest-paths to get
Minimum cost is (how it is computed?)
* * *12 13 23ˆ ˆ ˆ5, 7, 8x x x
* 20F
Simple example: link-pathWasn’t it simple?
Yes as the choice of demands and link rates favored shortest pathsIt is not always like this
What is about the following objective function
two times expensive to go over shortest pathsa bit artificial but not that unrealistic sometimesespecially, in non-networking applications (see aviation)
Solving the problem?Trying to route everything over long paths?Capacity constraints strikes! Not feasible!No solutions? No… we have one for !Best allocation is somewhere in-between…How to find? Linear programming!
1 12 132 13 123 23 213ˆ ˆ ˆ ˆ ˆ ˆ2 2 2F x x x x x x
F
Simple example: link-pathOne more look at objective function
Sum of links costsLink cost: link load link cost unitLink load: sum of all flows crossing itOne alternative: minimize delay on the most congested link
Changing objective functionMay affect the optimal solution May dramatically affect how we find the optimal solutionSometimes the most complex thing
We considered link-path formulationIt also valid for directed links/demands
12 132 13 123 23 213ˆ ˆ ˆ ˆ ˆ ˆ2 2 2F x x x x x x
New notation for link-pathWhy? Recall link-path notation
Demands volumes: , where i,j are nodes… we are OKLinks capacities : , where i,j are nodes… we are OKPaths for demand (1->2): we used nodes as indices, e.g.
Paths for demandsIt was OK for three nodesWhat’s about paths for networks having N nodes?What we used is called node-identifier-based notation
Additional shortcomingsSome nodes may not have demands: we still need to Not all nodes are directly connectedFlow variables have indices of different lengthMore than one link between two nodes is also a problemSimply put: we have a problem modeling large networks
ˆijh
ijc
12 123ˆ ˆ,x x
1,3,6,4,7,9,5,2ˆ ?x
ˆ 0ijh ˆ 0ijc
Notation for link-pathLink-demand-path-identifier-based notation
CompactAllows to list only necessary objectsGood for moderate-to-large networksSeem strange for small networks at the first glance though…
1. Start with demandsEnumerate from 1 to DOnly those that are non-zero
Three nodes exampleDemand (1->2): demand ID 1Demand (1->3): demand ID 2Demand (2->3): demand ID 3We have d=1,2,3 demandsIn general: d=1,2,..,D demands
Notation for link-path2. Continue with links
Enumerate from 1 to EOnly those that exist
Three nodes exampleLink 1->2: link ID 1Link 1->3: link ID 2Link 2->3: link ID 3We have e=1,2,3 linksIn general e=1,2,…,E links
Can perform mapping ofDemand volumesLink capacities
Notation for link-path3. Continue with candidate paths for demand
There could be more than oneEnumerate 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 1There exist two paths, P1= 2
These are 1-2, 1-3-2Path 1-2: path ID 1Path 1-3-2: path ID 2
Notation for link-pathFinish with path-flow variables (former )
Demand paid ID: first indexPath ID for demand: second index
Note the following:Previously: we saw which path is taken from indices Now: it is implicitly given
12 123 213ˆ ˆ ˆ, , , .x x x etc
12 123 213ˆ ˆ ˆ, , , .x x x etc
Simple exampleThe allocation task now reads as
Minimize (routing cost)
subject to demands constraints
and capaacity constraints
and positivity constraints
Paths must be given explicitly prior to formulation
11 12 21 22 31 322 2 2F x x x x x x
11 12 1
21 22 2
31 32 3
5
7
8
x x h
x x h
x x h
11 22 32 1
12 21 32 2
12 22 31 3
10
10
15
x x x c
x x x c
x x x c
0ijx
Simple example: node-linkLet links and demands be directed
Consider a demand pairConsider a node which is not originator nor destination
Differences in formulationsLink-path: considers path flows realizing a demandNode-link: considers flows passing through nodes
Single node: flow in = flow outFlow conservation low (recall electricity!)Holds for end nodes assuming that sources are external
Simple example: node-linkGet back to the three nodes example
Bidirected link 1-2: now two links 1-2, 2-1Demands should also be directinalNow sufficient to use one direction only 1->2
Consider demand (1->2)Demand (1->2) starts at 1 terminates at 2Has volume Has two outgoing arcs 1->2, 1->3 to realize its demand viaOver these arcs we send
first index: arcsecond index: demand
12h
12,12 13,12,x x
Simple example: node-linkFlow conservation: originator node 1, demand (1->2)
out is positive, in is negative
Flow conservation: transit node 3, demand (1->2)
Flow conservation: destination node 3, demand (1->2)
12 21,12 31,12 12,12 13,12 0h x x x x
13,12 23,12 31,12 32,12 0x x x x
12,12 32,12 12 21,12 23,12ˆ 0x x h x x
Simple example: node-linkLet’s merge what we did for demand (1->2)!
Is there some redundancy?Network is symmetric with respect to links/demandsWhy not to set backward flows to zero?
21,12 31,12 23,120, 0, 0x x x
Simple example: node-linkLet’s merge what we did for demand (1->2)!
Equations we get for demand (1->2)
12,12 13,12 12
13,12 32,12
12,12 32,12 12
ˆ
0
ˆ
x x h
x x
x x h
Simple example: node-linkFor demand (1->3) by setting
we get equations
For demand (2->3) by setting
we get equations
31,13 32,13 21,130, 0, 0x x x
12,13 13,13 13
12,13 23,13
13,13 23,13 13
ˆ
0
ˆ
x x h
x x
x x h
32,23 31,23 11,230, 0, 0x x x
21,23 23,23 23
21,23 13,23
13,23 23,23 23
ˆ
0
ˆ
x x h
x x
x x h
Simple example: node-linkNow consider links
Each link consist of two arcsFor each demand its flow on one of arcs is zeroThe sum of arc flows should be less than capacity
Capacity constraint for link 1->2 is
recalling that
Capacity constraint for link 1->3 is
Similarly for other links…We got: demands constraints + capacity constraints
12,12 12,13 12ˆx x c
21,12 21,13 12,230, 0, 0x x x
13,12 13,13 13,23 32ˆx x x c
Simple example: node-linkMinimize
Here we minimize routing costs (1 unit cost per link)
Subject to demands constraints:
12,12 13,12 12
13,12 32,12
12,12 32,12 12
12,13 13,13 13
12,13 23,13
13,13 23,13 13
21,23 23,23 23
21,23 13,23
13,23 13,23 23
ˆ
0
ˆ
ˆ
0
ˆ
ˆ
0
ˆ
x x h
x x
x x h
x x h
x x
x x h
x x h
x x
x x h
12,12 13,12 32,12 12,13 13,13 23,13 21,23 13,23 23,23F x x x x x x x x x
Simple example: node-linkand capacity constraints
and non-negativity of all
Important notesCan you even get an idea what the solution could be?Usually node-link is that complexStill it is linear programming
Starting from now we will use link-path notation
12,12 12,13 12
21,23 21
13,12 13,13 13,23 13
23,13 23,23 23
32,12 32
ˆ
ˆ
ˆ
ˆ
ˆ
x x c
x c
x x x c
x x c
x c
,ij nmx