1、1,Outline,Minimum Spanning Tree Maximal FlowAlgorithmLP formulation,2,The Minimum Spanning Tree Problem最小延展樹問題,3,8.1.2 The Minimum Spanning Tree Problem,application contextnodes are cities (節點是城市)arcs are potential highways to be built to connect the cities (線段是連接城市的高速公路)what is the cheapest way (i.
2、e., shortest total distance) to have all cities connected? (最短的公路網將所有城市連接起來),4,8.1.2 The Minimum Spanning Tree Problem,general concepttree: a connected network such that the n nodes of the network are connected by n-1 arcswhich is a tree?,5,8.1.2 The Minimum Spanning Tree Problem,think about thisthe
3、 cheapest way to connect all cities should be a treecalled spanning tree, as it connects all cities the only question: how to find the cheapest spanning tree?,只要細想,每個人都懂。,6,8.1.2 The Minimum Spanning Tree Problem,question: would the cheapest arc always in the minimum spanning tree? must be,7,8.1.2 T
4、he Minimum Spanning Tree Problem,question: would we find the minimum spanning tree by always selecting the cheapest unselected arc?no, see, e.g., the cheapest three arcs.,8,8.1.2 The Minimum Spanning Tree Problem,Let us grow the minimum spanning tree step by step, i.e., add the arcs one by one. (一步一
5、步的養大這minimum spanning tree.)As argued before, arc (1, 2) must be in the minimum spanning tree.Thus, we have a small tree T1, 2.,9,8.1.2 The Minimum Spanning Tree Problem,In the minimum spanning tree, which of the three arcs, (1, 3), (2, 3), and (2, 4), should be connected to the tree T1, 2 grown so
6、far? Arc (1, 3) of length 18 should be in the minimum spanning tree. Why? Considered a spanning tree without arc (1, 3).The cost of the spanning tree can be reduced by swapping an arc with higher cost with arc (1, 3).Thus, arc (1, 3) should be in the minimum spanning tree.,10,8.1.2 The Minimum Spann
7、ing Tree Problem,to find the minimum spanning tree:start with the arc of minimum cost to from a tree (從最便宜的公路開始)grow the tree by adding an arc connecting to it such that (每次加一條公路)adding the arc maintains a tree (保持tree的形式), and among possible arcs to add, the added arc is of the lowest cost (選能加上的公路
8、中最便宜的),11,8.1.2 The Minimum Spanning Tree Problem,12,8.1.2 The Minimum Spanning Tree Problem,13,8.1.2 The Minimum Spanning Tree Problem,14,8.1.2 The Minimum Spanning Tree Problem,15,8.1.2 The Minimum Spanning Tree Problem,16,8.1.2 The Minimum Spanning Tree Problem,17,8.1.2 The Minimum Spanning Tree
9、Problem,18,The Maximal Flow Problem最大流量問題,19,Railway Map,Each railway segment has a capacity (i.e., upper bound of tonnage (per day).What is the maximal flow from, say, Paris to Moscow?,http:/ Maximal Flow Problem,The number beside an arc is the capacity of flow along the arc. (管線旁的數字是管線的容量)The move
10、ment can be of either direction.What is the maximal flow from node 1 to node 4?,21,The Maximal Flow Problem,At any moment, we need to keep track of the flow and the residual capacity (i.e., remaining capacity) of an arc.,number beside an arc: boxed = residual capacity, normal = current flow.,22,The
11、Maximal Flow Problem,The route 124 allows a flow of 6 units.,23,The Maximal Flow Problem,The route 1234 allows a flow of 2 units.,24,The Maximal Flow Problem,The route 134 allows a a flow of 3 units.,25,The Maximal Flow Problem,The maximal flow from node 1 to node 4 is 11 units. The flow pattern is
12、shown below, with the residual capacities of arcs boxed.,26,The Maximal Flow Problem,The method seems all right:We first find a route of positive flow from the source to the sink.Find the residual capacities of arcs by subtracting added flows from their (residual) capacities.Keep on repeating the ab
13、ove two steps until no route with positive flow can be added.However, the method can run into trouble.,27,The Maximal Flow Problem,28,The Maximal Flow Problem,The route 1324 allows a flow of 2 units.,29,The Maximal Flow Problem,The route 124 allows a flow of 4 units.,30,The Maximal Flow Problem,The
14、route 134 allows a flow of 1 unit.,31,The Maximal Flow Problem,There seems to be no more flow to node 4, because residual capacity of arc (1, 3) = 0, arc (2, 3) = 0, arc (2, 4) = 0,32,The Maximal Flow Problem,However, this does not make sense, because the flow is found to be 11 units before. What is
15、 wrong?,33,The Maximal Flow Problem,Compare the two flow patterns. Any observations?In the second case, the flow in the vertical arc is in the wrong direction.,34,The Maximal Flow Problem,In a large network, how can we be sure which direction to follow when we add flows one by one?There should be wa
16、ys to revert the direction of a wrong flow.,35,The Maximal Flow Problem,Suppose that we send 2 units from node 1 to node 2 to take up the capacity of node 2 to node 4 of the red flow.The red flow is along arc (3, 2) is then re-directed to arc (3, 4).,36,The Maximal Flow Problem,The result: Two more
17、units of flow can be sent along the route 1234,37,The Maximal Flow Problem,There is a labeling algorithm basically keeping track of the flows, the residual capacities, and the re-direction of flows.The algorithm works for networks with capacity limits on bi-directional flows on arcs. It is possible
18、to have different limits for the two directions of the same arc. (容許i到j跟j到i的capacity不一樣),38,The Maximal Flow Problem,Find the maximal flow from node 1 to node 4 for the following network. The number beside an arc is the capacity limit of the arc. All arcs are bi-directional.,39,The Maximal Flow Prob
19、lem,Since node 1 is the source, flow can only be possible from node 1 to node 2. Thus, arc (1, 2) is practically a directed arc. Similar, flow can only be possible from node 1 to node 3, node 2 to node 4, and node 3 to node 4. Thus, practically arcs (1, 3), (2, 4), and (3, 4) are directed arcs. The
20、flow on (2, 3) can be on either direction.,40,The Maximal Flow Problem,The route 1324 allows a flow of 2 units.,2,41,The Maximal Flow Problem,The route 124 allows a flow of 4 units.,42,The Maximal Flow Problem,The route 134 allows a flow of 1 unit.,43,The Maximal Flow Problem,The route 1234 allows a
21、 flow of 4 unit.,44,The Maximal Flow Problem,How to get the flows?Compare with the original. The differences in (residual) capacities give the actual flows.,12: 8 units,13: 3 units,23: 2 units,24: 6 units,34: 5 units,maximal flow from node 1 to node 4 : 11 units,45,A Linear Program Formulation of th
22、e Maximal Flow Problem,46,LP Formulation of the Maximal Flow Problem,Oil is pumped out at node 1, temporarily stored at nodes 2, 3, and 4, and eventually sent the refinery at node 5 through the pipe lines. In the following, arc represents a pipe line, with its capacity (i.e., barrels of oil per day)
23、 written beside it. Formulate a linear program to find the maximal amount of oil sent from node 1 to node 5. A maximal flow problem can be formulated as a linear program (and solved by an optimizer).,47,LP Formulation of the Maximal Flow Problem,Let xij be the number of barrels of oil pumped from no
24、de i to node j; xij 0. Because node 1 is the source, x21 = x31 = 0.Similarly, x52 = x53 = x54 = 0 because node 5 is the sink.Because we do not know the direction of flow in arc (2, 3), we are not sure which of x23 and x32 should be equal to zero.Similarly, we have no idea of fixing which of x24 and
25、x42, and of x34 and x43, to zero.,48,LP Formulation of the Maximal Flow Problem,We further introduce a variable x51. Effectively we act an artificial arc from node 5 to node 1.,x51,49,LP Formulation of the Maximal Flow Problem,Each LP constraint matches with a physical relationship of the problem.Th
26、ere are two types of constraints:conservation of flow: the amount of oil into a node must be the same as the amount out of the node. bounds on flow: 0 xij capacity of i to j flow,50,LP Formulation of the Maximal Flow Problem,objective function: max x51,conservation of flownode 1:x51 = x12 + x13, nod
27、e 2:x12 + x32 + x42 = x23 + x24 + x25,node 3:x13 + x23 + x43 = x32 + x34 + x35, node 4:x24 + x34 = x42 + x43 + x45, node 5:x25 + x35 + x45 = x51,51,LP Formulation of the Maximal Flow Problem,bounds: 0 x12 45, 0 x13 35, 0 x23, x32 40,0 x24, x42 25,0 x25 50, 0 x34, x43 10,0 x35 15,0 x45 20,52,LP Formu
28、lation of the Maximal Flow Problem,Read Example 8-6 for more example.,53,Assignment #3,Chapter 8 Problem 1 (a), (b), plus (c) Formulate this problem as a mathematical programming model.Problem 10Problem 16 (a) Find the maximal flow of this network, and (b) Formulate the problem as a linear program.,