CSE 550Computer Network Design
Dr. Mohammed H. SqalliCOE, KFUPM
Spring 2007 (Term 062)
CSE-550-T062 Lecture Notes - 5 2
Outline
Topology Design for Centralized Networks
Multipoint Line Topology
Terminal Assignment
Concentrator Location
CSE-550-T062 Lecture Notes - 5 3
Centralized Network Design
Centralized network: is where all communication is to and from a single central site
The “central site” is capable of making routing decisions
→ Tree topology provides only one path through the center (For reliability, lines between other sites can be included)
Center
Concentrator Concentrator
Terminal Terminal Terminal Terminal
High speed lines
Low speed lines
CSE-550-T062 Lecture Notes - 5 4
Centralized Network Design Problems
Multipoint line topology: selection of links connecting terminals to concentrators or directly to the center
Terminal assignment: association of terminals with specific concentrators
Concentrator location: deciding where to place concentrators, and whether or not to use them at all
Multipoint Line Topology
CSE-550-T062 Lecture Notes - 5 6
The Greedy Algorithm
At each stage, select the shortest edge possible (myopic or near-sighted): Start with empty solution s While elements exist
Find e, the best element not yet considered If adding e to s is feasible, add it; if not, discard it
May not find a feasible solution when one exists Efficient and simple to implement → widely used Basis of other more complex and effective algorithms A Minimum Spanning Tree (MST) is a tree of minimum total
cost In the case of MST, the greedy algorithm guarantees both
optimality and reasonable computational complexity
CSE-550-T062 Lecture Notes - 5 7
Constrained/Capacitated MST (CMST)
CMST Problem: Given:
A central node N0 A set of other nodes (N1, N2, …, Nn) A set of weights (W1, W2, …, Wn) for each node The capacity of each link Wmax A cost matrix Cij = Cost(i,j)
Find a set of trees T1, T2, …, Tk such that: Each Ni belongs to exactly one Tj, and Each Tj contains N0
maxWWji TN i
Trees linksl
lCost )( is minimized
CSE-550-T062 Lecture Notes - 5 8
CMST Objective: Find a tree of minimum cost and which satisfies a
number of constraints such as: Flow over a link Number of ports
The CMST problem is NP-hard (i.e., cannot be solved in polynomial time)→ Resort to heuristics (approximate algorithms)
These heuristics will attempt to find a good feasible solution, not necessarily the best, that: Minimizes the cost Satisfies all the constraints
Well-known heuristics: Kruskal Prim Esau-Williams
CSE-550-T062 Lecture Notes - 5 9
Kruskal’s Algorithm for CMST
Example: Given a network with five nodes, labelled 1 to 5, and characterized by the following cost matrix
Node 1 is the central backbone node
fmax=5, f1=0, f2=2, f3=3, f4=2, f5=1
CSE-550-T062 Lecture Notes - 5 10
Prim’s Algorithm for CMST
CSE-550-T062 Lecture Notes - 5 11
Esau-Williams Algorithm for CMST
Node 1 is the central node. tij: is the tradeoff of connecting i to j or i directly to the root
If (tij < 0) → better to connect i to j If (tij ≥ 0) → better to connect i directly to the root
Algorithm:
Terminal Assignment
CSE-550-T062 Lecture Notes - 5 13
Problem Statement Terminal Assignment: Association of terminals with specific concentrators Given:
T terminals (stations) i = 1, 2, …, T C concentrators (hubs/switches)j = 1, 2, …, C Cij: cost of connecting terminal i to concentrator j Wj: capacity of concentrator j Assume that terminal i requires Wi units of a concentrator capacity Assume that the cost of all concentrators is the same xij = 1; if terminal i is assigned to concentrator j xij = 0; otherwise
Objective: Minimize:
Subject to: i = 1, 2, …, T (Each terminal associated with one Concentrator)
j = 1, 2, …, C (Capacity of concentrators is not exceeded)
C
j
T
iijijxcZ
1 1
11
C
jijx
j
T
iiji wxw
1
}1,0{ijx
CSE-550-T062 Lecture Notes - 5 14
Assignment Problem
Given a cost matrix: One column per concentrator One row per terminal
Assume that: Weight of each terminal is 1 (i.e., each terminal
consumes exactly one unit of concentrator capacity) A concentrator has a capacity of W terminals (e.g.,
number of ports)
A feasible solution exists iff T ≤ W * C
C1 C2
T1
T2
T3
CSE-550-T062 Lecture Notes - 5 15
Augmenting Path Algorithm
It is based on the following observations:
Ideally, every terminal is assigned to the nearest concentrator
Terminals on concentrators that are full are moved only to make room for another terminal that would cause a higher overall cost if assigned to another concentrator
An optimal partial solution with k+1 terminals can be found by finding the least expensive way of adding the (k+1)th terminal to the k terminal solution
CSE-550-T062 Lecture Notes - 5 16
Augmenting Path Algorithm
Initially, try to associate each terminal to its nearest concentrator
If successful in assigning all terminals without violating capacity constraints, then stop (i.e., an optimal solution is found)
Else, Repeat
Build a compressed auxiliary graph Find an optimal augmentation
Until all terminals are assigned
CSE-550-T062 Lecture Notes - 5 17
Building a Compressed Auxiliary Graph
U: set of unassociated terminals T(Y): set of terminals associated with Y
CSE-550-T062 Lecture Notes - 5 18
Building a Compressed Auxiliary Graph
CSE-550-T062 Lecture Notes - 5 19
Example
Cost Matrix:
W = 2 (capacity of each concentrator) Solution: (a, H) (b, I), (c, H), (d, G), (e, I), (f, G) Cost = 15
G H I
a 6 3 8
b 2 9 4
c 3 1 4
d 2 5 9
e 1 6 3
f 2 7 9
Concentrator Location
CSE-550-T062 Lecture Notes - 5 21
Problem Statement Concentrator location: deciding where to place concentrators, and whether or not to use
them at all Given:
T terminals (stations) i = 1, 2, …, T C concentrators (hubs/switches) j = 1, 2, …, C Cij: cost of connecting terminal i to concentrator j dj: cost of placing a concentrator at location j (i.e., cost of opening a location j) Kj: maximum capacity (of terminals) that can be handled at possible location j Assume that terminal i requires Wi units of a concentrator capacity xij = 1; if terminal i is assigned to concentrator j; 0, otherwise yj = 1; if a concentrator is decided to be located at site j; 0, otherwise
Objective: Minimize:
Subject to:
i = 1, 2, …, T (Each terminal associated with one Concentrator)
j = 1, 2, …, C (Capacity of concentrators is not exceeded)
C
jjj
C
j
T
iijij ydxcZ
11 1
11
C
jijx
jj
T
iiji yKxw
1
}1,0{, jij yx
CSE-550-T062 Lecture Notes - 5 22
Add Algorithm
Greedy Algorithm Start with all terminals connected directly to
the center Evaluate the savings obtainable by adding a
concentrator at each site Greedily select the concentrator which saves
the most money
CSE-550-T062 Lecture Notes - 5 23
Add Algorithm
Initialization: M: set of locations Select an initial location m Assume all terminals are connected to m Set L0 = {m} Set k = 0 (iteration count) c'i = cim, i= 1, 2, …, N
Compute:
1. For , do where2. Determine a new m such that:
If there is no such m, go to step 4.3. Update: and for
Set and k:= k+1, and go to Step 1.4. No more improvement possible; stop.
jIi
jiijkk
j dccZZ )(1kLMj \ 0 iijj cciI
kkj
LMj
km ZZZ
k
1
\
1 min
}{1 mLL kk imi cc mIi11 k
mk ZZ
N
iicZ
1
0
CSE-550-T062 Lecture Notes - 5 24
Example
Cost Matrix:
Kj = 3, j = 1, 2, 3, 4 (capacity of each concentrator) d1 = 0, d2 = d3 = d4 = 2 Solution: S2 (1, 2, 3), S1 (4), S4 (5, 6) Cost = 9
S1 S2 S3 S4
1 2 1 2 4
2 1 0 1 2
3 4 1 2 2
4 1 2 1 2
5 2 3 2 0
6 4 4 3 2
CSE-550-T062 Lecture Notes - 5 25
References
A. Kershenbaum, “Telecommunications Network Design Algorithms”, McGraw-Hill,1993
M. Pióro and D. Medhi, “Routing, Flow, and Capacity Design in Communication and Computer Networks”, Morgan Kaufmann Publishers, Inc., 2004