Algorithms and Networks

Slides:



Advertisements
Similar presentations
Max Flow Problem Given network N=(V,A), two nodes s,t of V, and capacities on the arcs: uij is the capacity on arc (i,j). Find non-negative flow fij for.
Advertisements

Introduction to Algorithms
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
MS&E 211 Minimum Cost Flow LP Ashish Goel. Minimum Cost Flow (MCF) Need to ship some good from “supply” nodes to “demand” nodes over a network – Example:
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Network Optimization Models: Maximum Flow Problems
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2012 Lecture 19.
The Maximum Network Flow Problem. CSE Network Flows.
1 Maximum Flow w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Lectures on Network Flows
1 Maximum Flow Networks Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘capacity’ u ij. Goal: Determine the maximum amount.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
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.
Maximum flow Algorithms and Networks. A&N: Maximum flow2 Today Maximum flow problem Variants Applications Briefly: Ford-Fulkerson; min cut max flow theorem.
1 The Min Cost Flow Problem. 2 Flow Networks with Costs Flow networks with costs are the problem instances of the min cost flow problem. A flow network.
1 Ford-Fulkerson method Ford-Fulkerson(G) f = 0 while( 9 simple path p from s to t in G f ) f := f + f p output f Runs in time O(|f max | |E|) where f.
1 The Min Cost Flow Problem. 2 The Min Cost Flow problem We want to talk about multi-source, multi-sink flows than just “flows from s to t”. We want to.
Theory of Computing Lecture 13 MAS 714 Hartmut Klauck.
The minimum cost flow problem. Simplifying assumptions Network is connected (as an undirected graph). – We can consider each connected component separately.
 Rooted tree and binary tree  Theorem 5.19: A full binary tree with t leaves contains i=t-1 internal vertices.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
CS 4407, Algorithms University College Cork, Gregory M. Provan Network Optimization Models: Maximum Flow Problems In this handout: The problem statement.
Flows in Planar Graphs Hadi Mahzarnia. Outline O Introduction O Planar single commodity flow O Multicommodity flows for C 1 O Feasibility O Algorithm.
Max Flow – Min Cut Problem. Directed Graph Applications Shortest Path Problem (Shortest path from one point to another) Max Flow problems (Maximum material.
Flow Algorithms Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms Week 9, Lecture 2.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
Chapter 7 April 28 Network Flow.
15.082J & 6.855J & ESD.78J October 7, 2010 Introduction to Maximum Flows.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
15.082J and 6.855J and ESD.78J The Successive Shortest Path Algorithm and the Capacity Scaling Algorithm for the Minimum Cost Flow Problem.
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.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string.
1 Maximum Flows CONTENTS Introduction to Maximum Flows (Section 6.1) Introduction to Minimum Cuts (Section 6.1) Applications of Maximum Flows (Section.
The Maximum Network Flow Problem
Minimum Cost Flow Algorithms and Networks. Algorithms and Networks: Minimum Cost Flow2 This lecture The minimum cost flow problem: statement and applications.
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
The Maximum Network Flow Problem
Maximum Flow Chapter 26.
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Cycles and Paths vs functions
CS4234 Optimiz(s)ation Algorithms
The assignment problem
Lectures on Network Flows
Algorithms and Networks Hans Bodlaender
James B. Orlin Presented by Tal Kaminker
Chapter 6. Large Scale Optimization
Algorithms and Networks
Network Flow 2016/04/12.
Instructor: Shengyu Zhang
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Analysis of Algorithms
Introduction to Maximum Flows
Analysis of Algorithms
Flow Networks and Bipartite Matching
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
and 6.855J March 6, 2003 Maximum Flows 2
Flow Feasibility Problems
Algorithms and Networks
Max Flow / Min Cut.
Introduction to Minimum Cost Flows
Chapter 6. Large Scale Optimization
Presentation transcript:

Algorithms and Networks Minimum Cost Flow Algorithms and Networks

This lecture The minimum cost flow problem: statement and applications The cycle cancelling algorithm A polynomial time variant of cycle cancelling The successive shortest paths algorithm Algorithms and Networks: Minimum Cost Flow

Minimum Cost Flow I Edges have Cost of flow f: Capacity: c(u,v): bound on amount of flow that can go through the edge Cost: cost(u,v): cost that must be paid per unit of flow that goes through the edge. Cost of flow f: Algorithms and Networks: Minimum Cost Flow

Minimum cost flow problem Given: Network G, c, cost, s, t, and a target flow value r. Question: Find a flow from s to t with value r, with minimum cost. Algorithms and Networks: Minimum Cost Flow

Unbounded capacities Some edges may have unbounded capacities If there is a cycle of negative cost with only edges with unbounded capacity: Arbitrary small cost (degenerate case) Finding such a cycle: shortest paths algorithms (see lectures by Johan) Otherwise: simple transformation to bounded capacities E.g., set each unbounded capacity to sum of all bounded capacities Algorithms and Networks: Minimum Cost Flow

Separate demands Similar to max-flow with multiple sources and multiple sinks Or: work with “demand”, which can be positive or negative G s1 t1 t s sk tr Algorithms and Networks: Minimum Cost Flow

Nonnegative arc costs It is possible to transform the network to case where all costs are nonnegative. In case of negative costs: assume bounded capacity. Modify network to equivalent one with nonnegative costs: Cost -r Or work with separate demands b a Capacity c Cost 0 Cost 0 Cost r s b a t Capacity c Capacity c Capacity c Algorithms and Networks: Minimum Cost Flow

Applications Transport problems Minimum cost matchings Reconstruction of Left Ventricle from X-ray projections Image: 2d bit array; known are sums of columns, rows; probabilities for each bit Look for image with correct row and column sums of maximum probability Can be modelled as minimum cost flow problem Algorithms and Networks: Minimum Cost Flow

Application: Optimal loading of hopping airplane 1 2 n bij weight units (or passengers) can be transported from i to j Each gives a profit of fij Plane can never carry more than p units How much units do we transport of each type for maximum profit? Capacity i ® j: p Node ij has supply bij Cost from ij to i: - fij Node i has demand sum over all bji 14 24 13 All other arcs infinite cap. All other costs 0 12 23 34 1 2 3 4 Algorithms and Networks: Minimum Cost Flow

Cycles and circulations; paths and flows We can view: Cycles as a special type of circulations Paths as a special type of flows If we have a directed cycle c, then we can see it as a circulation: c(e) = 1 when e is on c c(e) = 0 otherwise If we have a path p from s to t, we can see it as a flow with value 1: p(e) = 1 when e is on p p(e) = 0 otherwise Algorithms and Networks: Minimum Cost Flow

First: useful theorems on flows and circulations Theorem Let f be a circulation. Then f is a nonnegative linear combination of cycles in G. Proof. Ignore lower bounds. If f(v,w) = 0 everywhere, then it clearly holds. Otherwise, there is a directed cycle c in G with each edge e on c: f(e)>0 Let r be the minimum flow of an edge on c, i.e., r = min {f(e) | e on c} Use induction: the theorem also holds for f – cr: f-cr(e) = f(e) when e is not on c f-cr(e) = f(e) – r when e is on c … A&N: Maximum flow

Corollary for flows Corollary: Let f be a flow from s to t. f is a nonnegative linear combination of cycles in G and paths from s to t. Proof: Add edge from t to s with flow equal to value(f). Now, we have a circulation. Apply previous theorem. Cycles that use (t,s) correspond to a path from s to t. … QED Algorithms and Networks: Minimum Cost Flow

More on these linear combinations If circulation f is integer, then f can be written as an`integer scalared’ linear combination of cycles in G A flow f with each f(e) an integer is the integer scalared linear combination of cycles and paths from s to t Algorithms and Networks: Minimum Cost Flow

Algorithms for finding minimum cost flow Here: two simple algorithms, based on the residual network Better algorithms exist, see also the exercise sets Algorithms and Networks: Minimum Cost Flow

Residual network Define the residual network Gf of a flow f Capacities as for maximum flow algorithms If f (u,v)>0, then costf (u,v) = cost(u,v), and costf (v,u) = – cost(u,v). Algorithms and Networks: Minimum Cost Flow

Example Capacity 5, cost 3 Suppose we send 1 flow from a to b a b In Gf: Capacity 1, cost -3 Algorithms and Networks: Minimum Cost Flow

Cycle cancelling algorithm Make a feasible flow f in the network while Gf has a negative cycle do Find a negative cycle C in Gf Let D be the minimum residual capacity cf of an edge on C Add D units of flow to each edge on C: this is a new feasible flow of smaller cost Output f. Algorithms and Networks: Minimum Cost Flow

Cycle cancelling algorithm is correct Theorem: a flow f has minimum costs, if and only if Gf has no negative cycle. Proof: If Gf has negative cycle, then we can improve f to one with smaller cost. Suppose f is a flow, and f’ is an optimal flow. f’ – f is a circulation in Gf, hence a linear combination of cycles, and if f is not optimal, then the total cost of these cycles is negative, so there is a negative cycle in this set: it is a cycle in Gf. Algorithms and Networks: Minimum Cost Flow

More on the cycle cancelling algorithm No guarantee that it uses polynomial time. Corollary: if all capacities and target flow value are integral, then there is an optimal integer minimum cost flow. The cycle cancelling algorithm finds an integer flow in this case. Variant: using always the minimum mean cost cycle gives a polynomial time algorithm! Algorithms and Networks: Minimum Cost Flow

Minimum mean-cost circulation algorithm Cycle cancelling algorithm but find always the minimum mean cost cycle and use that. O(nm) time to find the cycle. A theorem shows that O(nm2 log2 n) iterations are sufficient. O(n2m3 log2 n) algorithm. Uses algorithm from exercise set. Algorithms and Networks: Minimum Cost Flow

Lower bounds Cycle cancelling algorithm also works with lower bounds: First find a feasible flow, respecting lower bounds (see lecture on max flow) Remaining algorithm the same, with the residual network defined as for flows with lower bounds Algorithms and Networks: Minimum Cost Flow

Successive shortest paths Start with flow f with f(u,v)=0 for all u,v. repeat until value(f ) = r Find the shortest path P in Gf from s to t Let q be the minimum residual capacity of an edge on P. Send min(q,r – value(f)) additional units of flow across P. Algorithms and Networks: Minimum Cost Flow

Time and correctness Time: possibly exponential time … Correctness: only if G has no cycle with negative cost If G has a negative cycle, the algorithm may give an incorrect answer, e.g., when we have target flow r=0 Proof of correctness: next Algorithms and Networks: Minimum Cost Flow

Correctness of successive shortest paths algorithm Theorem: If G has no negative cycle, then the successive shortest paths algorithm gives the minimum cost flow. Proof follows from Claim: The ssp-algorithm maintains the following invariant: f has minimum cost among all flows with value value(f). Algorithms and Networks: Minimum Cost Flow

Proof of claim Suppose we obtain f’ from f by sending flow over a path P. From invariant: f has minimum cost for flows with value equal to value(f) Suppose f’’ is a minimum cost flow with same value as f’. f’’ – f is a flow in Gf. Hence, it can be written as a linear combination of cycles in Gf and paths from s to t in Gf. All cycles in Gf have cost at least 0: otherwise f is not of minimum cost All paths in this combination have cost at least the cost of P: this is how the algorithm works (P is shortest path) It follows that cost(f’’ – f) >= cost (f’ – f) So, cost(f’’) >= cost(f’) which show minimality of cost of f’. QED Algorithms and Networks: Minimum Cost Flow

Finally More efficient algorithms exist Some use scaling techniques: Scaling on capacities Scaling on costs Scaling will be discussed in the chapter on shortest paths Algorithms and Networks: Minimum Cost Flow