 D. Moltchanov, TUT, Spring 2015

### Outline

Node-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

There are two common problem formulations

Within one formulation there are different notations

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?

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

Demand volume unit (DVU)

So which demands are using links, what are implications

ˆ

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

### What’s wrong with node-identifier?

Why?

ˆ 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

?

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

Compact

Allows to list only necessary objects

Good for moderate-to-large networks

Seem strange for small networks at the first glance though…

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

Enumerate from 1 to E

Only those that exist

Three nodes example

Can perform mapping of

Demand volumes

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.

Note the following:

Previously: we saw which path is taken from indices x

ˆ ˆ

,

ˆ

12 123 213

, etc .

Now: it is implicitly given

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

### Objective function

One more look at objective function

F

 x

11

2 x

12

 x

21

2 x

22

 x

31

2 x

32

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

It also valid for directed links/demands

### Optimization software

You must get familiar with at least one package

Matlab (commercial)

Mathematica (commercial)

Maple (commercial)