Lecture 5: Minimum Cost Flows. Flows in a network may incur a cost, such as time, fuel and operating fee, on each link or node.
|
|
- Arron Williams
- 5 years ago
- Views:
Transcription
1 Lecture 5: Minimum Cost Flows Flows in a network may incur a cost, such as time, fuel and operating fee, on each link or node.
2 Min Cost Flow Problem
3 Examples Supply chain management deliver goods using v trucks from a warehouse s to a customer t subject to road restrictions and toll fees. Telecommunication network planning send message in v packets from node s to node t subject to bandwidth capacity and transmission loss.
4 Another Example: Assignment Problem
5 Example: Assignment Problem
6 Questions Is the problem feasible? - feasibility check If a flow is feasible, how to tell it is optimal or not? - optimality condition How to find an optimal solution? - algorithm design How much work involved in finding an answer? - complexity analysis
7 Feasibility Check No problem - just solve a max flow problem and check.
8 Optimality Condition A new concept of cost of augmenting cycle is needed. Basically, if the current flow allows one more unit to flow in a cyclic manner in part of the nodes with a negative cost incurred, then the current flow is not optimal. No augmenting cycle with negative cost! This concept will be further developed.
9 Algorithm Design Take a greedy approach - do what you can do best for a current flow value - do what you can do best to send more flow - stop when you reach the flow required
10 Intuitions
11 Cost of an augmenting path
12 Cost of augmenting paths and cycles
13 Cost of augmenting paths
14 Observations Cost incurred by pushing one more unit of flow through the network via the augmenting path. - Interested in the minimum-cost augmenting path. How to find the minimum-cost augmenting path? - Think about the shortest path algorithm.
15 Min-cost augmenting path
16 Min-cost augmenting path
17 Augmenting Cycle
18 Conjectures 1. A flow is of minimum cost if and only if it admits no augmenting cycle with negative cost? 2. (A minimum cost flow of value v ) + (augmenting δ along a minimum cost augmenting path) = (a minimum cost flow of value v + δ)?
19 Main Theorems
20 Proof of Theorem 7.1
21 Proof of Theorem 7.2
22 Min-Cost Flow Algorithm
23 Min-Cost Flow Algorithm
24 Complexity Analysis
25 Example
26 Example
27 Example
28 Example
29 Network with Gains and Losses A supply chain of perishable products. An international money market with different currencies More
30 Network with Gains and Losses
31 Network with Gains and Losses
32 Network with Gains and Losses
33 Currency Conversion
34 Work Assignment
35 Work Assignment
36 Comments
37 Major Results Theorem 8.1 In a network with losses and gains, a flow of source value vs is of minimum loss if and only of it admits no endogenous flow augmenting path to t. A flow of sink value vt is of minimum loss if and only of it admits no endogenous flow augmenting path to s. Theorem 8.2 In a network with losses and gains, the augmentation of a minimum loss flow of sink value vt along a minimum loss augmenting path of capacity dt yields a minimum loss flow of value vt + dt.
38 Minimum Cost Circulation Problem
39 What s a Circulation?
40 Example: Shortest Path Problem
41 Shortest Path Problem
42 Example: Maximum Flow Problem
43 Maximum Flow Problem
44 Example: Minimum Cost Flow Problem
45 Minimum Cost Flow Problem
46 Example: Transportation Problem
47 Questions 1. Feasibility - Is the min cost circulation problem always feasible? - How do we know there exists a feasible circulation or not? - How do we find a feasible circulation, if it exists? 2. Optimality - How do we know a feasible circulation is of the minimum cost? 3. Algorithm - How to find an optimal circulation? - Complexity?
48 Feasible Circulation Problem Is there a feasible circulation in a given network with lower bounds and capacities?
49 Observation 1 - Feasibility Think about this simple fact: - For a feasible flow, the sum of flows coming into a node at the lowest level required should be no more than the sum of flows going out of a node at the highest level allowed.
50 Any Proof?
51 Conjecture for a Stronger Result In a network with lower bounds and capacities on the links, there exists a feasible circulation if and only if
52 Proof of the Conjecture The If part is easy, i.e., we have just showed that if there exists a feasible circulation, then the inequality holds for any cut set. How about the only if part? i.e., if there exists no feasible circulation, then there is cut set for which the inequality fails. The question is that do we have a way to find a feasible circulation, when there is one?
53 Observation 2 Find a Feasible Circulation
54 Find a Feasible Circulation For the above mentioned procedure, notice that all links in the augmenting path won t reduce its link flows under the lower bounds, nor increase its link flows above the capacities along the path. Moreover, it will strictly increase the flow value of xpq by an integer value. Hence we can continue this process until xpq is over lpq, and then work on other links with flow value below its lower bound, if there is indeed a feasible circulation. When this process fails, what will happen?
55 Observation 3
56 Major Result
57 Corollary Notice that when the lower bounds lij = 0, we have the conventional max-flw min-cut set theorem as before.
58 Corollary
59 Observation 4 Optimality Check Primal Problem vs. Dual Problem
60 Optimality Conditions
61 Good Optimality Conditions
62 Kilter Conditions
63 Kilter Diagram
64 Motivation Given a circulation with a zero value of the sum of kilter numbers of each link, then the circulation must represent an optimal solution. The question is how to find such a circulation? Can we design an algorithm to reduce the total kilter number in each iteration until an optimal solution is found?
65 Observation 5 Algorithm Design
66 Minty s Painting Theorem
67 Observation 6 Painting the arcs
68 Rules for Painting Arcs
69 Applying Minty s Theorem
70 Case 1 (taking Y+ for Y and Y- for Y*)
71 Case 1
72 Case 1 Two possible outcomes
73 Case 2
74 Case 2
75 Case 2
76 Case 2 Three possible outcomes
77 Case 2 Three possible outcomes
78 How to paint the arcs?
79 Outline of the Out-of-Kilter Algorithm
80 Out-of-Kilter Algorithm
81 Out-of-Kilter Algorithm
82 Out-of-Kilter Algorithm
83 Out-of-Kilter Algorithm
84 Convergence Proof Assumptions - all lower bounds and capacities are integers; - the initial circulation is integral. Implications - K(i, j) are non-negative integers in each iteration. Let K = sum of the kilter numbers for the initial circulation.
85 Reasoning
86 Complexity Analysis
87 Complexity Analysis
88 Example
89 Example
90 Example
91 Example
92 Example
93 Example
94 Example
95 Example
96 Example
97 Example
98 Example
99 Integral Flows and Total Unimodularity