Maximum Flow Problems 204.302 in 2005.

Slides:



Advertisements
Similar presentations
Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
Advertisements

1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Introduction to Algorithms
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
Network Optimization Models: Maximum Flow Problems
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
The Out of Kilter Algorithm in Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.
HW2 Solutions. Problem 1 Construct a bipartite graph where, every family represents a vertex in one partition, and table represents a vertex in another.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
The max flow problem
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
Linear Programming – Max Flow – Min Cut Orgad Keller.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
Max-flow/min-cut theorem Theorem: For each network with one source and one sink, the maximum flow from the source to the destination is equal to the minimal.
Shortest Route, Minimal Spanning Tree and Maximal Flow Models
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
10. Lecture WS 2006/07Bioinformatics III1 V10: Network Flows V10 follows closely chapter 12.1 in on „Flows and Cuts in Networks and Chapter 12.2 on “Solving.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
Networks and Graphs in Introduction Many Decision Science problems can be modelled using what are called graphs or networks. A network is.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Approximation Algorithms Duality My T. UF.
ENGM 631 Maximum Flow Solutions. Maximum Flow Models (Flow, Capacity) (0,3) (2,2) (5,7) (0,8) (3,6) (6,8) (3,3) (4,4) (4,10)
Max-flow, Min-cut Network flow.
V12: Network Flows V12 follows closely chapter 12.1 in
Algorithm Design and Analysis
Richard Anderson Lecture 23 Network Flow
Lecture 22 Network Flow, Part 2
CSCI 3160 Design and Analysis of Algorithms Tutorial 8
Maximum Flow Solutions
Max-flow, Min-cut Network flow.
Greedy Technique.
Network Flow 2016/04/12.
Instructor: Shengyu Zhang
Edmonds-Karp Algorithm
CSE Algorithms Max Flow Problems 11/21/02 CSE Max Flow.
Network Flow and Connectivity in Wireless Sensor Networks
Introduction to Maximum Flows
Introduction Basic formulations Applications
Flow Networks Topics Flow Networks Residual networks
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 21 Network Flow
Problem Solving 4.
Algorithms (2IL15) – Lecture 7
Network Flow CSE 373 Data Structures.
EE5900 Advanced Embedded System For Smart Infrastructure
Max Flow / Min Cut.
Minimum Cost Network Flow Problems
Lecture 21 Network Flow, Part 1
The Ford-Fulkerson Algorithm
Introduction to Maximum Flows
Richard Anderson Lecture 22 Network Flow
Lecture 21 Network Flow, Part 1
Maximum Flow Neil Tang 4/8/2008
EMIS 8374 Maximum Concurrent Flow Updated 3 April 2008
Lecture 22 Network Flow, Part 2
Introduction to Maximum Flows
Network Optimization Models: Maximum Flow Problems
Richard Anderson Lecture 22 Network Flow
EMIS 8374 Max-Flow in Undirected Networks Updated 18 March 2008
EMIS The Maximum Flow Problem: Flows and Cuts Updated 6 March 2008
Presentation transcript:

Maximum Flow Problems 204.302 in 2005

A simple network Note that the nodes in this graph have specific labels for the source and the sink nodes.

Capacities and costs When modelling we usually will have constraints or costs associated with particular edges on the network. It is these considerations that determine the amount of flow along a particular edge – denoted xij Nodes usually get numbered, making the definition of edges and their costs or capacities easier. For example 0 6 xij 6 uij. Note that xij=-xji if an edge is undirected. The cost of each direction is not necessarily the same in all contexts, meaning that a pair of directed edges is easier to work with.

What is a max flow problem? As the name suggests, we want to maximize the flow in the network. We give the label “source” to the node that represents the ultimate beginning of the network, and “sink” to the ultimate destination of all product flowing in the network. We will look at an algorithm for finding the maximum flow of the network from source to sink, and A means of determining an upper bound for the maximum flow of the network.

The Ford-Fulkerson algorithm This algorithm finds paths from the source to the sink that can have an increase in its flow. The flow along that path is then adjusted and a new path is sought. Let’s follow a simple example using the network given previously and the table of capacities in the notes.

Finding an augmenting path Obviously any augmenting path must start at the source node. At the first iteration we can “label” both A and B from the source node, and given the current flow is zero, we can label every node in the network. Let’s just take the simple path s-A-D-t for starters. What is the maximum amount this path can be increased while keeping the solution feasible?

A second augmenting flow You should probably mark the reduction in available flow along the edges in the path just augmented. This will then (slightly) limit the options for an augmenting path. The simplest path to choose at the second iteration is s-B-E-t. Check its maximum possible increase is 20.

Third iteration The path s-A-B-E-t could now be augmented. Note that this uses an undirected edge between A and B. After increasing the flow along this path by 10 units, you could draw a reduced network. It appears in the notes as Figure 4. It is a little easier to find the next augmenting path with a reduced network without the clutter of your working. You could choose to augment the path s-A-C-D-t now by the allowable 5 units.

The optimal solution found The optimal solution has been found as there is no possible means of getting any product anywhere from the source node. This leads to the minimum cut maximum flow theorem. Finding a set of edges that split the source and the sink into two disconnected subnetworks means that the max flow has been obtained. This works under certain conditions and must be expanded to allow for all conditions.

Min Cut Max Flow A cut set is a set of edges that if removed from the network leave two disconnected subnetworks having the source cut off from the sink. Finding the cut set that has the least capacity from the source’s subnetwork to the sink’s subnetwork provides an upper bound on the maximum flow of the network. You must look out for the direction of the edges in the cut set. If your current network flow is equal to the capacity of the cut set, you have the optimal solution.