D. Moltchanov, TUT, Spring 2015
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
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
Demands: bidirectional
1-2: 5
1-3: 7
2-3: 8 h
ˆ
ˆ
12
h
ˆ
13 h
23
5
7
8
Routing of demands
Two path for each demand
Demand paths 1-2 and 1-3-2
12
5
We see that flows over paths x
ˆ
12
x
ˆ
132
h
ˆ
12
( 5)
For other demands x
ˆ
13
x
ˆ
123
h
ˆ
13
( 7) x
ˆ
23
ˆ
213
h
ˆ
23
( 8)
Another concern: how much to put over those paths
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,
First important note:
Demand: between any two nodes
Link: connects two nodes directly c
ˆ
23
15
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)
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
ˆ
12
x
ˆ
132 x
ˆ
132
x
ˆ
13
x
ˆ
213
c
ˆ
13 x
ˆ
132
x
ˆ
123
x
ˆ
23
c
ˆ
22
What we got? (demands constraints + capacity constraints)
5 x
ˆ
13
x
ˆ
123
7 x
ˆ
23
x
ˆ
213
8 x
ˆ
12
x
ˆ
132 x
ˆ
132
x
ˆ
13
x x
ˆ
ˆ
123
123
x
ˆ
23 x
ˆ
213 x
ˆ
213
10
10
15 and of course non-negativity of allocations: x
ˆ ˆ
, x
ˆ ˆ
, x
ˆ
, x
ˆ
12 132 13 123 23 213
0
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?
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
x
ˆ
132 x
ˆ
13
x
ˆ
123 x
ˆ
23 and capacity constraints x
ˆ
12
x
ˆ
132
x
13
x
ˆ
132
x x
ˆ
ˆ
123
123
x
ˆ
23 x
ˆ
213 x
ˆ
213 x
ˆ
213
10
10
15
5
7
8
And positivity constraints x
ˆ ˆ
, x
ˆ ˆ
, x
ˆ
, x
ˆ
12 132 13 123 23 213
0
Why?
Recall link-path notation c
ˆ ij h
ˆ ij
Paths for demand (1->2): we used nodes as indices, e.g.
x
ˆ ˆ
12 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
Not all nodes are directly connected c
ˆ
0 ij
Flow variables have indices of different length
0
More than one link between two nodes is also a problem
Simply put: we have a problem modeling large networks
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
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
3. Continue with candidate paths for demand
There could be more than one
Enumerate from 1 to P d 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, P
1
= 2
These are 1-2, 1-3-2
Path 1-2: path ID 1
Path 1-3-2: path ID 2
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 123 213
, etc .
Now: it is implicitly given
The allocation task now reads as
Minimize routing cost (routing over any link costs 1)
F
x
11
2 x
12
x
21
2 x
22
x
31
2 x
32 subject to demands constraints x
11
x
12 x
21
x
22 x
31
and capacity constraints x
11
x
22
x
12
x
12
x
21
x
22
x
31 x
32 x
32 x
32
h
1
h
2
h
3
5
7
8
c
1
10
c
2
10
c
3
15 and positivity constraints
ij
0
Paths must be given explicitly prior to formulation
General procedure
Demands d = 1,2,..,D, and their volumes h d
Links e = 1,2,…,E, and their rates c e
Paths for each demand p = 1,2,…,P d
Flow variables x dp
, d = 1,2,…,D, p=1,2,…, P d
Useful for moderate-to-large networks
Solution: optimization algorithms
One more look at objective function
F
x
11
2 x
12
x
21
2 x
22
x
31
2 x
32
Sum of links costs
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
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!