network design and optimization course
play

Network Design and Optimization course Lecture 2 Alberto Ceselli - PowerPoint PPT Presentation

Routing (not so) basics Modeling All pairs shortest paths in practice Network Design and Optimization course Lecture 2 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dellInformazione Universit` a degli Studi di


  1. Routing (not so) basics Modeling All pairs shortest paths in practice Network Design and Optimization course Lecture 2 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell’Informazione Universit` a degli Studi di Milano October 4th, 2011 university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  2. Routing (not so) basics Modeling Building a routing table All pairs shortest paths in practice The problem Given an existing network I want to build a routing table , that is decide which links to use (route) for connecting each pair of nodes maximizing the overall quality of service (e.g. minimizing delay or power loss) university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  3. Routing (not so) basics Modeling Building a routing table All pairs shortest paths in practice Assumptions Some assumptions: 1 all packets must be routed on the same links, 2 the capacity of each link is enough for any connection request, 3 connections using the same links at the same time do not interfere. N.B. imposing (1), or assuming that link usage cost does not depend on the amount of traffic routed is the same; conditions (2) and (3) are linked when using packet routing. university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  4. Routing (not so) basics Modeling Building a routing table All pairs shortest paths in practice Recognizing a known problem ... We are facing an All Pairs Shortest path problem ! university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  5. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Modeling the costs Step 1: estimating link usage costs. How? Know your network; make suitable assumptions and simplifications! (see examples from previous slides). university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  6. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Network model Given a network, build a graph G = ( V , E ) having one vertex i ∈ V for each node of the network one edge e ∈ E for each link of the network costs c e on each arc e ∈ E prizes g v on each node v ∈ V a special vertex s ∈ V representing the origin of packets a special vertex t ∈ V representing the destination of packets Question for you: how to find shortest paths between all pairs of vertices in a graph? university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  7. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall algorithm 1 int cost[][]; 2 3 // initialize cost[i][j] to c(i,j) 4 5 procedure FloydWarshall () 6 for k := 1 to |V| 7 for i := 1 to |V| 8 for j := 1 to |V| 9 cost[i][j] = 10 min(cost[i][j],cost[i][k]+cost[k][j]); university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  8. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall correctness proof Theorem: FW returns the shortest path matrix Proof: By invariants . university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  9. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall correctness proof Theorem: FW returns the shortest path matrix Proof: By invariants Before iteration k , cost[i][j] is the cost of the shortest path connecting i and j , and using only vertices in 1 . . . k (besides i and j themselves). university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  10. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall correctness proof By induction base: at step 1 cost[i][j] = c(i,j) step: university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  11. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall correctness proof By induction base: at step 1 cost[i][j] = c(i,j) → OK! step: university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  12. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall correctness proof By induction base: at step 1 cost[i][j] = c(i,j) → OK! step: at step k , cost[i][j] is the SP among i and j using vertices 1 . . . k university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  13. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall correctness proof By induction base: at step 1 cost[i][j] = c(i,j) → OK! step: at step k , cost[i][j] is the SP among i and j using vertices 1 . . . k case (1): at step k + 1, cost[i][j] is also the SP using vertices 1 . . . k + 1 (no update) university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  14. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall correctness proof By induction base: at step 1 cost[i][j] = c(i,j) → OK! step: at step k , cost[i][j] is the SP among i and j using vertices 1 . . . k case (1): at step k + 1, cost[i][j] is also the SP using vertices 1 . . . k + 1 (no update) case (2): at step k + 1, cost[i][j] is obtained going from i to k + 1 (using only vertices 1 .. k ) and from k + 1 to j (same thing) university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  15. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall correctness proof By induction base: at step 1 cost[i][j] = c(i,j) → OK! step: at step k , cost[i][j] is the SP among i and j using vertices 1 . . . k case (1): at step k + 1, cost[i][j] is also the SP using vertices 1 . . . k + 1 (no update) case (2): at step k + 1, cost[i][j] is obtained going from i to k + 1 (using only vertices 1 .. k ) and from k + 1 to j (same thing) → only vertices 1 . . . k + 1 are involved. university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  16. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall rebuild path 0 // init cost[i][j] to c(i,j) and next[i][j] to ’null’ 1 procedure FloydWarshallWithPathReconstruction () 2 for k := 1 to |V| 3 for i := 1 to |V| 4 for j := 1 to |V| 5 if cost[i][k] + cost[k][j] < cost[i][j] then 6 cost[i][j] := cost[i][k] + cost[k][j]; 7 next[i][j] := k; 8 9 procedure Path(i,j) 10 if cost[i][j] equals infinity then return "NoPath"; 11 if next[i][j] equals ’null’ then 12 return " "; /* no vertices between i and j */ 13 else 14 return university-logo 15 Path(i,next[i][j])+next[i][j]+Path(next[i][j],j); A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  17. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall algorithm: complexity 1 int cost[][]; 2 3 // initialize cost[i][j] to c(i,j) 4 5 procedure FloydWarshall () 6 for k := 1 to |V| 7 for i := 1 to |V| 8 for j := 1 to |V| 9 cost[i][j] = 10 min(cost[i][j],cost[i][k]+cost[k][j]); university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

  18. Modeling costs Routing (not so) basics A graph-based model Modeling A simple all pairs shortest path algorithm All pairs shortest paths in practice More efficient all pair shortest path computations Floyd Warshall algorithm: complexity 1 int cost[][]; 2 3 // initialize cost[i][j] to c(i,j) 4 5 procedure FloydWarshall () 6 for k := 1 to |V| 7 for i := 1 to |V| 8 for j := 1 to |V| 9 cost[i][j] = 10 min(cost[i][j],cost[i][k]+cost[k][j]); Complexity O ( | V | 3 ) university-logo A. Ceselli, DTI – Univ. of Milan Network Design and Optimization course

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend