Network Optimization Topological Ordering

Slides:



Advertisements
Similar presentations
Outline LP formulation of minimal cost flow problem
Advertisements

15.082J & 6.855J & ESD.78J October 14, 2010 Maximum Flows 2.
15.082J & 6.855J & ESD.78J Shortest Paths 2: Bucket implementations of Dijkstra’s Algorithm R-Heaps.
15.082J, 6.855J, and ESD.78J Sept 16, 2010 Lecture 3. Graph Search Breadth First Search Depth First Search Intro to program verification Topological Sort.
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
& 6.855J & ESD.78J Algorithm visualizations Modified Label Correcting Algorithm.
15.082J, 6.855J, and ESD.78J September 21, 2010 Eulerian Walks Flow Decomposition and Transformations.
Lecture 10 The Label Correcting Algorithm.
15.082J and 6.855J and ESD.78J October 19, 2010 Max Flows 3 Preflow-Push Algorithms.
15.082J & 6.855J & ESD.78J September 23, 2010 Dijkstra’s Algorithm for the Shortest Path Problem.
& 6.855J & ESD.78J Algorithm Visualization The Ford-Fulkerson Augmenting Path Algorithm for the Maximum Flow Problem.
and 6.855J The Goldberg-Tarjan Preflow Push Algorithm for the Maximum Flow Problem.
Network Simplex Animations Network Simplex Animations.
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
15.082J & 6.855J & ESD.78J September 30, 2010 The Label Correcting Algorithm.
EMIS 8374 Shortest Path Trees Updated 11 February 2008 Slide 1.
EMIS 8374 The Ford-Fulkerson Algorithm (aka the labeling algorithm) Updated 4 March 2008.
15.082J and 6.855J and ESD.78J Network Simplex Animations.
Cycle Canceling Algorithm
Network Optimization J.B. Orlin
Network Simplex Animations
CS120 Graphs.
Dijkstra’s Algorithm with two levels of buckets
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Introduction to Maximum Flows
Introduction to Maximum Flows
15.082J & 6.855J & ESD.78J Visualizations
Dijkstra’s Algorithm for the Shortest Path Problem
15.082J & 6.855J & ESD.78J Visualizations
Lecture 6 Shortest Path Problem.
Dijkstra’s Algorithm for the Shortest Path Problem
Breadth first search animation
Lecture 4 Graph Search.
Lecture 19-Problem Solving 4 Incremental Method
Introduction to Minimum Cost Flows
EMIS 8374 Shortest Path Problems: Introduction Updated 9 February 2008
Shortest-Path Property 4.1
Spanning Tree Algorithms
and 6.855J Flow Decomposition
Primal-Dual Algorithm
Successive Shortest Path Algorithm
Successive Shortest Path Algorithm
and 6.855J March 6, 2003 Maximum Flows 2
15.082J & 6.855J & ESD.78J Radix Heap Animation
Network Optimization Depth First Search
Introduction to Algorithms
Min Global Cut Animation
Network Optimization Flow Decomposition.
Dijkstra’s Algorithm for Shortest Paths
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Reading before Lecture 13
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
and 6.855J The Goldberg-Tarjan Preflow Push Algorithm for the Maximum Flow Problem Obtain a network, and use the same network to illustrate the.
and 6.855J Dijkstra’s Algorithm
Visualizations Dijkstra’s Algorithm
Introduction to Maximum Flows
Network Simplex Animations
and 6.855J The Goldberg-Tarjan Preflow Push Algorithm for the Maximum Flow Problem Obtain a network, and use the same network to illustrate the.
Eulerian Cycles in directed graphs
and 6.855J Topological Ordering
15.082J & 6.855J & ESD.78J Visualizations
The Minimum Cost Spanning Tree Problem
and 6.855J Depth First Search
Breadth first search animation
OPIM 915 Fall 2010 Data Structures 23-38,
Introduction to Minimum Cost Flows
Introduction to Maximum Flows
Max Flows 3 Preflow-Push Algorithms
Class 11 Max Flows Obtain a network, and use the same network to illustrate the shortest path problem for communication networks, the max flow.
15.082J & 6.855J & ESD.78J Visualizations
Presentation transcript:

Network Optimization Topological Ordering Get ahold of a network, and use the same network to illustrate the shortest path problem for communication newtorks, the max flow problem, the minimum cost flow problem, and the multicommodity flow problem. This will be a very efficient way of introducing the four problems. (Perhaps under 10 minutes of class time.)

Preliminary to Topological Sorting LEMMA. If each node has at least one arc going out, then the first inadmissible arc of a depth first search determines a directed cycle. 1 4 6 7 3 COROLLARY 1. If G has no directed cycle, then there is a node in G with no arcs going. And there is at least one node in G with no arcs coming in. COROLLARY 2. If G has no directed cycle, then one can relabel the nodes so that for each arc (i,j), i < j.

Initialization Determine the indegree di of each node i. 6 1 5 2 8 3 LIST = {i : di = 0} 7 4 1 2 3 4 5 6 7 8 Node Indegree LIST 7 2 2 3 2 1 1 2

Initialization “Next” will be the label of nodes in the topological order. 6 1 5 2 8 3 7 4 next 1 1 2 3 4 5 6 7 8 Node Indegree LIST 7

Select a node from LIST Select Node 7. 6 1 Order(7) := 1 Delete node 7. 5 2 8 3 7 7 4 1 1 next 1 2 3 4 5 6 7 8 Node LIST Indegree 2 2 3 2 1 1 2 7

Updates update “next” 6 update indegrees 1 5 2 8 3 update LIST 7 7 4 1 next 1 2 3 4 5 6 8 Node LIST Indegree 2 2 3 1 2 1 1 2 7 5

Select node 5 Select Node 5. 6 1 Order(5) := 2 2 Delete node 5. 5 5 2 8 3 7 7 4 1 2 1 next 1 2 3 4 5 6 8 Node LIST Indegree 2 2 3 2 1 1 2 7 5

Updates update “next” 6 update indegrees 1 2 5 5 2 8 3 update LIST 7 7 4 1 3 1 2 next 1 2 3 4 6 8 Node LIST Indegree 2 1 2 3 2 1 1 2 4 7 5 6

Select Node 6 (or 4) Select Node 6. 3 6 6 1 Order(6) := 3 2 Delete node 6. 5 5 2 8 3 7 7 4 1 3 2 1 next 1 2 3 4 6 8 Node LIST Indegree 2 1 2 3 2 1 2 4 7 5 6

Updates update “next” 3 6 6 update indegrees 1 2 5 5 2 8 3 update LIST 7 7 4 1 2 3 1 4 next 1 2 3 4 8 Node LIST Indegree 1 2 2 1 3 2 1 2 4 7 5 2

Select Node 2 (or 4) Select Node 2. 3 6 6 1 Order(2) := 4 2 Delete node 2. 5 5 2 2 8 3 4 7 7 4 1 2 4 3 1 next 1 2 3 4 8 Node LIST Indegree 2 1 3 1 2 2 4 7 5 6 2

Updates update “next” 3 6 6 update indegrees 1 2 5 5 2 2 8 3 update LIST 4 7 7 4 1 4 5 3 2 1 next 1 3 4 8 Node LIST Indegree 1 2 3 2 1 2 4 5 7 1 6

Select node 4 (or 1) Select Node 4. 3 6 6 1 Order(4) := 5 2 Delete node 4. 5 5 2 2 8 3 4 7 7 4 4 1 5 5 2 3 1 4 next 1 3 4 8 Node LIST Indegree 1 2 3 2 4 5 7 6 1

Updates update “next” 3 6 6 update indegrees 1 2 5 5 2 2 8 3 update LIST 4 7 7 4 4 1 5 3 4 5 2 6 1 next 1 3 8 Node LIST Indegree 1 2 3 2 1 2 5 7 6 1

Select Node 1 Select Node 1. 3 6 6 6 1 1 Order(1) := 6 2 Delete node 1. 5 5 2 2 8 3 4 7 7 4 4 1 5 4 3 5 6 1 2 next 1 3 8 Node LIST Indegree 3 2 1 2 7 5 6 1

Updates update “next” 3 6 6 6 update indegrees 1 1 2 5 5 2 2 8 3 update LIST 4 7 7 4 4 1 5 1 5 6 7 4 3 2 next 3 8 Node LIST Indegree 1 2 3 2 1 5 7 8

Select Node 8 Select Node 8. 3 6 6 6 1 1 Order(8) := 7 2 Delete node 8. 7 5 5 2 2 8 8 3 4 7 7 4 4 1 5 7 5 6 2 4 1 3 next 3 8 Node LIST Indegree 2 1 3 5 7 8

Updates update “next” 3 6 6 6 update indegrees 1 1 2 7 5 5 2 2 8 8 3 update LIST 4 7 7 4 4 1 5 8 5 7 6 4 2 1 3 next 3 Node LIST Indegree 1 2 3 7 5 3

Select node 3 Select Node 3. 3 6 6 6 1 1 Order(3) := 8 2 Delete node 3. 7 8 5 5 2 2 8 8 3 3 4 7 7 4 4 1 5 6 8 7 4 1 5 3 2 next List is empty. The algorithm terminates with a topological order of the nodes 3 Node LIST Indegree 7 5 3

15.082J / 6.855J / ESD.78J Network Optimization MITOpenCourseWare http://ocw.mit.edu 15.082J / 6.855J / ESD.78J Network Optimization Fall 2010 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.