250 likes | 413 Views
CSE 550 Computer Network Design. Dr. Mohammed H. Sqalli COE, KFUPM Spring 2007 (Term 062). Outline. Topology Design for Centralized Networks Multipoint Line Topology Terminal Assignment Concentrator Location. Center. High speed lines. Concentrator. Concentrator. Low speed lines.
E N D
CSE 550Computer Network Design Dr. Mohammed H. Sqalli COE, KFUPM Spring 2007 (Term 062)
Outline • Topology Design for Centralized Networks • Multipoint Line Topology • Terminal Assignment • Concentrator Location Lecture Notes - 5
Center High speed lines Concentrator Concentrator Low speed lines Terminal Terminal Terminal Terminal 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) Lecture Notes - 5
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 Lecture Notes - 5
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 computationalcomplexity Lecture Notes - 5
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 is minimized Lecture Notes - 5
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 Lecture Notes - 5
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 Lecture Notes - 5
Prim’s Algorithm for CMST Lecture Notes - 5
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: Lecture Notes - 5
Problem Statement • Terminal Assignment:Association of terminals with specific concentrators • Given: • Tterminals (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) Lecture Notes - 5
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 iffT ≤ W * C Lecture Notes - 5
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 Lecture Notes - 5
Augmenting Path Algorithm • Initially, try to associate each terminal to its nearest concentrator • If successful in assigningall 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 Lecture Notes - 5
Building a Compressed Auxiliary Graph • U: set of unassociated terminals • T(Y): set of terminals associated with Y Lecture Notes - 5
Building a Compressed Auxiliary Graph Lecture Notes - 5
Example • Cost Matrix: • W = 2 (capacity of each concentrator) • Solution: (a, H) (b, I), (c, H), (d, G), (e, I), (f, G) • Cost = 15 Lecture Notes - 5
Problem Statement • Concentrator location: deciding where to place concentrators, and whether or not to use them at all • Given: • Tterminals (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) Lecture Notes - 5
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 Lecture Notes - 5
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: • For , do where • Determine a new m such that: If there is no such m, go to step 4. • Update: and for Set and k:= k+1, and go to Step 1. • No more improvement possible; stop. Lecture Notes - 5
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 Lecture Notes - 5
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 Lecture Notes - 5