1 / 25

INTRODUCTION TO NETWORK FLOWS

Explore network flows, including minimum cost flow, shortest path, maximum flow problems, and more. Learn how to model, solve, and apply these concepts in various real-world scenarios.

williemuniz
Download Presentation

INTRODUCTION TO NETWORK FLOWS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INTRODUCTION TO NETWORK FLOWS CONTENTS • Introduction to Network Flows (Sections 1.1 and 1.2) • Network Notation (Section 2.2) • Network Representations (Section 2.3)

  2. 2 4 5 7 1 6 3 2 4 5 7 1 6 3 Directed and Undirected Networks DIRECTED GRAPH: UNDIRECTED GRAPH:

  3. Some Common Physical Networks

  4. -15 2 2 4 2 3 1 5 4 4 5 7 1 10 10 6 3 6 6 3 5 -5 Minimum Cost Flow Problem Determine a least cost shipment of a commodity through a network in order to satisfy demands at certain nodes from available supplies at other nodes. Arcs have capacities and cost associated with them. • Distribution of products • Flow of items in a production line • Routing of cars through street networks • Routing of telephone calls

  5. Minimum Cost Flow Problem (contd.) Mathematical Formulation: where • Supply nodes (b(i) > 0); Demand nodes (b(i) < 0);Transhipment nodes (b(i) = 0) • Mass balance constraints (flow in - flow out = supply/demand) • Flow bound constraints (lower and upper bound constraints)

  6. 20 2 4 10 30 s t 15 40 1 6 35 20 25 3 5 35 Shortest Path Problem Identify a shortest path from a given source node to a given sink node. • Applications: • Finding a path of minimum length • Finding a path taking minimum time • Finding a path of maximum reliability

  7. 20 2 4 10 30 s t 15 40 1 6 35 20 25 3 5 35 Maximum Flow Problem Determine the maximum flow that can be sent from a given source node to a sink node in a capacitated network. Determining maximum steady-state flow of: • petroleum products in a pipeline network • cars in a road network • messages in a telecommunication network • electricity in an electrical network

  8. 10 4 2 35 15 20 1 25 40 3 5 30 Minimum Spanning Tree Problem Find a spanning tree of an undirected network of minimum cost (or, length). • Constructing highways or railroads spanning several cities • Designing local access network • Making electric wire connections on a control panel • Laying pipelines connecting offshore drilling sites, refineries, and consumer markets

  9. 2 4 5 7 1 6 3 Network Notation Network (or graph) G = (N, A) N : Node Set = {1, 2, 3, 4, 5, 6, 7} A : Arc Set = {(1, 2), (1, 3), (2, 3), (2, 4), (3, 6), (4, 5), (4, 7), (5, 2), (5, 3), (5, 7), (6, 7)}

  10. 2 4 5 7 1 6 3 Tails and Head Nodes • Tail Node : Node i is the tail node of arc (i, j) • Head Node : Node j is the head node of arc (i, j) • Endpoints : Nodes i and j are endpoints of arc (i, j) • Arc Adjacency List A(i) = {(i, j) : (i, j)  A} • Observe that

  11. 2 4 5 7 1 6 3 Walks • Subgraph: G' = (N', A') is a subgraph of G = (N, A) if N'  N and A'  A. • Spanning Subgraph: G' = (N', A') is a spanning subgraph of G = (N, A) if N' = N and A'  A. • Walk: A walk in a directed graph G is a subgraph of G consisting of a sequence of nodes and arcs. • Directed Walk: A directed walk in which all arcs have the same orientation.

  12. 2 4 5 7 1 6 3 Paths and Cycles • Path : A walk without any repetition of nodes. • Directed Path: A directed walk without any repetition of nodes. • Cycle: A closed path that starts and ends at the same node. • Directed Cycle: A directed version of a cycle. • Acyclic Network: A network is acyclic if it contains no directed cycle.

  13. 2 4 2 4 5 7 1 5 7 1 6 3 6 3 Network Connectivity • Connected Graph: If every pair of nodes is connected by a path. • Strongly Connected Graph: If every pair of nodes is connected by a directed path. • Disconnected Graph: If some pair of nodes is not connected by a path. Maximally connected subgraphs of a disconnected graph are called components.

  14. 2 4 S 5 7 1 6 3 Cuts • Cut: A cut is a set of arcs whose deletion disconnects the network into two components S and and no subset of it has this property. A cut is represented by [S, ].

  15. 2 4 2 4 1 7 1 6 3 6 3 Trees • Tree: A tree is a connected graph that contains no cycle. • A tree on n nodes contains exactly (n-1) arcs. • A tree has at least two leaf nodes. • Every two nodes of a tree are connected by a unique path.

  16. 2 4 5 7 1 2 4 6 3 7 1 5 6 3 Spanning Trees • Spanning Tree: A subgraph of a graph which is a tree and spans all nodes of the graph. • Forest: A graph that contains no cycle is a forest. • A forest on n nodes and k components has n-k arcs.

  17. 8 8 7 7 3 6 3 2 1 6 2 1 5 4 5 4 Directed Out-Trees and In-Trees • Directed-out-tree: A tree in which the unique path in the tree from node s to every other node is a directed path. • Directed-in-tree: A tree in which the unique path in the tree from any node to node s is a directed path.

  18. 5 1 1 3 4 7 2 5 4 8 3 2 6 Bipartite Graph • Bipartite Graph: A graph G = (N, A) is a bipartite graph if node set N can be partitioned into the sets N1 and N2 such that each arc (i, j) has either (i) i  N1 and j  N2; or (ii) i  N2 and j  N1. • A graph G is a bipartite graph if and only if every cycle in it has even number of arcs.

  19. Network Representations • Role of data structures is crucial in developing efficient algorithms. The manner in which networks are stored in a computer determines the performance of a network algorithm. • We need to perform some of the following operations: • Scan through the node list • Scan through the arc list • Determine all arcs emanating from a specific node i • Determine all arcs entering a specific node i • Determine all arcs emanating from or entering a specific node i

  20. Common Network Representations • Node-arc incidence matrix • Node-node adjacency matrix • Adjacency list • Forward star representation • Reverse star representation • Forward and reverse star representations

  21. Node-Arc Incidence Matrix Representation Stores the network G = (N, A) as an nxm matrix N = {mij}. (15,40) 4 2 (25,30) (15,30) (45,10) 1 (35,50) (45,60) (35,50) 3 5 (25,20) • It is the constraint matrix for the minimum cost flow problem. • Space and time inefficient.

  22. (15,40) 4 2 (25,30) (15,30) (45,10) 1 (35,50) (45,60) (35,50) 3 (25,20) Node-Node Adjacency Matrix Representation Stores the network G = (N, A) as an nxn matrix H = {hij} with 5 • Can store costs and capacities too • Easy to construct and manipulate • Space and time inefficient for sparse networks (that is, networks with m << n2)

  23. (15,40) 4 2 (25,30) (15,30) (45,10) 1 (35,50) 3 35 50 0 (45,60) 1 2 25 30 2 4 15 40 0 (35,50) 3 3 2 45 10 0 (25,20) 4 3 15 30 5 45 60 0 5 3 25 20 4 0 35 50 Adjacency List Representation • We maintain each adjacency list A(i) as a linked list of cells. • We maintain an n-dimensional array first, where first(i) stores a pointer to the first cell in A(i). 5 • Space and time efficient • Little complex to manipulate

  24. (15,40) 4 2 (25,30) (15,30) (45,10) 1 (35,50) (45,60) point (35,50) 1 1 3 (25,20) 2 3 4 3 4 5 5 7 6 9 Forward Star Representation • We first order the arcs in the increasing order of their tail nodes and store information in m-dimensional arrays in this order. • We maintain an n-dimensional array point, where point(i) stores the index where information about arcs emanating from node i begins. 5

  25. trace 1 1 2 25 30 4 1 3 1 3 35 50 1 1 4 2 4 15 40 2 3 5 3 2 45 10 5 6 7 4 3 15 30 7 8 9 4 5 45 60 8 9 5 3 25 20 3 5 4 35 50 6 Forward and Reverse Star Representation head tail point cost capacity rpoint 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 8 8

More Related