31
Lecture 3. Notations and examples D. Moltchanov, TUT, Spring 2015

Lecture 3. Notations and examples D. Moltchanov, TUT, Spring 2008 D. Moltchanov, TUT, Spring 2015

Embed Size (px)

Citation preview

Lecture 3. Notations and examples

D. Moltchanov, TUT, Spring 2008

D. Moltchanov, TUT, Spring 2015

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…

Link-path formulation

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

Better link-path formulation

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

Addon: node-link formulation

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

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