19
1 1 Chapter4: Network Flow Modeling & Optimization Deep Medhi and Karthik Ramasamy August 2007 http://www.NetworkRouting.net © D. Medhi & K. Ramasamy, 2007 2 Terminologies • Traffic volume/ demand volume – Different units for different purpose • Mbps, Gbps : data rate (both data networks and transport networks) • Erlang (telephone calls) • First to discuss in terms of pure numbers; later we’ll use how the above units are used • Demand pair, or node pair: between two points(nodes) – 1:2, 2:3 • Link: connects two points (nodes) directly – Bidrectional (12) or unidirectional (1>2) • Flow: aggregation of traffic: – Link flow (for different pairs of demand) • Capacitated Network: links have given capacity

Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

Embed Size (px)

Citation preview

Page 1: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

1

1

Chapter‐4: Network Flow Modeling & 

OptimizationDeep Medhi and Karthik Ramasamy

August 2007http://www.NetworkRouting.net

© D. Medhi & K. Ramasamy, 2007

2

Terminologies• Traffic volume/ demand volume

– Different units for different purpose• Mbps, Gbps : data rate (both data networks and transport networks)

• Erlang (telephone calls)• First to discuss in terms of pure numbers; later we’ll use how the above units are used

• Demand pair, or node pair: between two points(nodes)– 1:2, 2:3

• Link: connects two points (nodes) directly– Bidrectional (1‐2) or unidirectional (1‐>2)

• Flow: aggregation of traffic:– Link flow (for different pairs of demand)

• Capacitated Network: links have given capacity

Page 2: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

2

3

A three‐node illustration

4

Single‐Commodity flow

• Consider just one demand 1:2 with volume h [link capacity c on all links]

Page 3: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

3

5

• Consider unit cost of paths• Now we optimize cost of routing

• Minimum cost routing• Model (4.2.3)

6

Solution

• For different scenarios:ξ12 = 1, ξ132 = 2 (first path is cheaper than second part)•Optimal: 

x12* = h, x132*= 0                if 0 ≤ h ≤ 10x12*= 10, x132* = h ‐ 10,        if 10 ≤ h ≤ 20

ξ12 = 2, ξ132 = 1 (second path is cheaper than first part)•Optimal: 

x12* = 0, x132*= h if 0 ≤ h ≤ 10x12*= h‐10, x132* = 10,        if 10 ≤ h ≤ 20

Page 4: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

4

7

Another objective: load balancing

• Minimize maximum load on a link (4.2.6):

8

• In this case, it’s optimal when the load (utilization) is equal

• Thus, in this case, split equally– [Note: this work only in the case of two segments]

Page 5: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

5

9

Another objective: minimize delay (4.2.9)

• Objective is non‐linear; solution (after some math)

[first, reduce to one variable. Then differentiate with respect to the other Variable and set to zero. Finally, bounds are applied because the solutionMust lie in the allowed region.]

10

Observations about solutions for different objectives

Figure 4.3

Page 6: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

6

11

Summary from Figure 4.3

• For different objectives, the solution quality can be quite different

• However, at extreme ends (very low traffic or very high traffic compared to capacity), the solutions are quite similar

12

Now consider multiple demands: Multi‐commodity flow

• 3‐node network: all node pairs have traffic– Each pair has two paths

Page 7: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

7

13

• Path flow for each node pair:

• Link flow:

14

Minimum cost routing optimization

• Model (4.3.4)

Page 8: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

8

15

Solving using CPLEX

• <Example 4.2>

16

CPLEX output

Page 9: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

9

17

What happens if the variables take only integer values (integer linear programming)

(4.3.5)

18

Using CPLEX for integer linear programming (ILP)

Solution:

Declare appropriate bound(default is 0 <= x <= 1)

Declare Integer variables

Page 10: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

10

19

Load balancing

•Minimize maximumLink utilization  (4.3.8)

Objective is piece‐wise non‐linear

Link flow

20

Transform objective to a linear equivalent case:

• Set

• Now,

Page 11: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

11

21

Transform (4.3.8) to the linear case: (4.3.12)

redundant

22

Solution: load balancing

Page 12: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

12

23

Average Delay case

24

Piece‐wise linearapproximation• Approximate

as: 

Page 13: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

13

25

Model (4.3.14) is approximated as Model (4.3.19)

26

General Case: New notation

• Notation: renumbering (first with 3‐node)

• Now, (4.3.4) becomes following model (4.4.3):

Page 14: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

14

27

• Look at the relation: Link to Path

• Use ‘delta’ notation:

Path 1 for demand pair 1 uses link 1  ‐> 1Path 1 for demand pair 1 uses link 2  ‐> 0

28

Notations:

Page 15: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

15

29

• Generic demand flow for K demands:

• Link flow for each link (l=1,2…,L):

• Capacity constraint:

30

Minimum Cost Routing: General Case

• Link‐Path formulation (4.4.7):

Page 16: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

16

31

Some numbers

• Link‐Path formulation

• Means: need to generate ‘possible’ paths– Use k‐shortest path algorithm (or other means)

32

An important result

• Result 4.1– If (4.4.7) is feasible, then at most K+L flow variables are required to be nonzero at optimality

Illustration:

N = 50, L = 200, K = 1225

Of total 12,250 flow variables, at most K+L = 1,425 would need to be non‐zero at optimality

Since ther are 1,225 demand pair, each pair must have at least one path that’s non‐zero, which means at most 200 demand pairs would have more than one non‐zero path at optimality

Page 17: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

17

33

Load balancing: general case

• (4.4.10):

34

Minimum cost routing: non‐splittable flow

• Declare each path (ukp) as 0/1 option; thus, only one path to be chosen for each pair

• Optimization formulation: integer multi‐commodity flow problem (4.5.3)

Page 18: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

18

35

• So far, we have done link‐path based formulation

• Node‐arc based formulation is possible: to show for the load balancing problem– Need to consider the flow on a link for a particular demand

– Need to consider link‐path indicator in terms of node incidence 

36

• avl := 1 if link l originates at node v; 0, otherwise• bvl := 1 if link l terminates at node v; 0, otherwise

Page 19: Chapter 4: Network Flow Modeling Optimizationjpgs/courses/scinets/mr-NeRo...19 37 Load balancing in node‐link formulation (4.4.12) 38 Summary •Multi‐commodity network flow –Started

19

37

Load balancing in node‐link formulation (4.4.12)

38

Summary• Multi‐commodity network flow

– Started with a single‐commodity example for a 3‐node network• Three different objectives considered

– Linearization of non‐linear delay objective discussed• Solutions compared

– Multi‐commodity example for a 3‐node network– The general case: link‐path formulation and node‐link formulation

• Linear programming solver: CPLEX– How to handle integer linear programming problems