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.

Size: px
Start display at page:

Download "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."

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