Presentation is loading. Please wait.

Presentation is loading. Please wait.

Algorithms and Networks

Similar presentations


Presentation on theme: "Algorithms and Networks"— Presentation transcript:

1 Algorithms and Networks
Minimum Cost Flow Algorithms and Networks

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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


Download ppt "Algorithms and Networks"

Similar presentations


Ads by Google